After writing the nth CLI script this month I finally snapped and went searching for a Getopt:: dist that would allow me to get rid of a ton of boilerplate, as well as make my usual frankenstein's monster mashup of Getopt::Long + Config::General + Pod::Usage + some other random things a lot nicer and automatic.
Getopt::Lucid has handily replaced Getopt::Long in this stack, and the code is now far shorter, its usage is much more readable, and the little magic things I like my scripts to do like auto-generation of docs and help-text has become so much better.
Props to DAGOLDEN for another excellent addition to my toolbox!
I have been a long-time user of Getopt::Long, but I hated always referring to the documentation for the meanings of the parameter types, and hated having to code dependencies. This module provides a great self-documenting interface to handling options.
I was fed up with using Getopt::Long and was looking for a decent Getopt::* module which could flexibly handle options the way I wanted them, and handle targets neatly too, regardless of the order they're given (e.g. ./script --option=foo filename, or ./script filename --option=foo), and most importantly, just get out of the way and DWIM.
Getopt::Lucid does everything I want, including verifying that required params were given, and as the name would suggest, allows the option-grabbing code to clearly show at a glance what options it takes.