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

Reply via email to