[Quoting Eric Wilhelm, on June 16 2005, 15:14, in "Re: RFC: Getopt::Mo"] > 15 years * n requests/year = 15*n degrees of flexibility = unpredictable
Hmm. I'd say 15 years * n requests/year * m happy users = reliability which is as meaningless as your formula. > True, but Getoptions() currently contains all of the "expertness" of > G::L, which means that other modules cannot learn anything about the > options (such as when Getopt::Helpful would like to know if these are > simple/float/list/hash, etc options without re-implementing G::L's > parsing.) I can make this information available, if users would be interested. > If you tear it apart and put it back together in pieces, How I do it, is my responsibility. > If it involves typing @main::ARGV, something is wrong. This is another one of your statements that feel like a religious issue. If typing @main::ARGV indicates that something is wrong, I think you have to address the Perl design and maintenance team. > Could be. Is this something that can/should be resolved with > yet-another-option? If you don't like it, don't use it. Why prevent others from using something they find useful? > >* multi-pass support > > I think this is possibly the only real improvement to G::L. > > And, (from my reading of G::L) one that requires a fundamental > restructuring of the code. I currently have two projects that address this issue: Getopt::Toolkit (which is based on Getopt::Long) and Getopt::Long version 3 (which is a complete redesign, a.k.a. Getopt::Long on steroids). Merging the two projects into a single new Getopt::Long version is somewhere on my TODO list. HOWEVER, since I highly appreciate my happy users, whatever comes out of the merge will be drop-in compatible with the current Getopt::Long. If this implies that you will not use it because it is too flexible, that's fine with me. One unhappy user against a zillion happy users. Finally, I must say, your web site makes me sad. There's nothing wrong with willing to write your own Getopt:: module, but if you want to motivate this by mere criticizing other people's modules you'd better use good arguments. And it would be nice to communicate the arguments with the other party first. >From the site: Everything you need and nothing you don't. <sarcastic>Thank you, Eric, for saving the world by telling us what we need and what we don't.</sarcastic> I started writing this module because I was trying to use Getopt::Long as if it had an API and it doesn't. That's okay. Reading the docs would have helped, though. Things like juggling @main::ARGV just had to stop. That's a personal opinion. Please address P5P if you don't like this language feature. There's a few other "features" in Getopt::Long that you may not have even discovered yet. Please mention the "features" that are not documented (so I can fix the code or improve the documentation). Needless to say, we don't need those. Again, a personal statement. You may not need them, others do. Just like "Perl can do SystemV message queues and semaphores. Needless to say, we don't need those. So let's write our own Perl clone that doesn't have this facility." Yuck. -- Johan