Hi Eric, [Quoting Eric Wilhelm, on June 15 2005, 16:58, in "RFC: Getopt::Modern"] > This is essentially a replacement/update for Getopt::Long.
As the author and maintainer of Getopt::Long I would be very interested to know what exactly your problems are. 15 years of experience has taught me that option handling is a very personal and almost a religious thing, one of the reasons there are so many Getopt:: modules on CPAN. Some points from your slides: * 15 years old What do you mean by that? Perl is 18 years old. C is even older. G::L is actively maintained, which I think is more important. * too flexible Interesting point. I think G::L follows Perl in TIMTOWTDI. Most flexibility has been added on user request. * lacks predictable behaviour I fail to see your point here. Options are handled from left to right, which makes perfect sense. * wants a 2 stage approach * wants to deal with an API This is provided by the OO API of G::L. Besides, a single function is also an API. * not super-configurable Wow! Ain't this begging for a simple 2-line wrapper module around G:L instead of re-inventing the wheel? * Getopt::Modern features Again, I think a simple wrapper around G::L will do the job. * Arguments in bundles never looked right anyway I think this is where the personal / religious feelings kick in. * users do not (and should not have to) understand the programmer's problems I fail to see your point. Can you elaborate? * multi-pass support I think this is possibly the only real improvement to G::L. Personally, I doubt wheter this validates yet another Getopt:: module (unless you have fun writing it, which is important as well!) As I said, option handling is a very personal and almost a religious thing. There has never been a decent agreed upon standard how command line options should be processed, although XPG and GNU did some serious attempts. Getopt::Long tries to fulfill the Perl pragma "making easy things easy, and hard things possible". So, again, as I said, I would be very interested to know what exactly your problems with G::L are. Regards, Johan