Getopt::Helpful is an integrated option hash / help messages.
This module is still under development, but is being publish on CPAN to satisfy some code which depends on it. The interface may change in a future version and some of the functionality is not yet complete.
This module provides methods which integrate help messages into a Getopt::Long option spec. This gathers documentation and declaration into one place and allows you to utilize perl code to state the default values of options in your online help messages (helping you utilize the single-point-of-truth principle.)
Additionally, it provides DWIM methods (Get) which allow you to cut some standard error-checking code from your scripts. There is even a handy usage() method which eliminates that silly block of code from the beginning.
my $var1 = "default";
# declare this as 'our' or $main::verbose
our $verbose = 0;
# every option must be passed into the constructor...
my $hopt = Getopt::Helpful->new(
usage => 'CALLER [options]',
"setting for $var1 (default: '$var1')"
# call GetOptions() behind the scenes (with error-checking)
$req_arg or ($req_arg = shift);
# usage() called with a message results in non-zero exit code
$req_arg or $hopt->usage('missing required argument');
$verbose and warn "doing stuff nown";
# now do stuff...