http://www.perlmonks.org?node_id=482493


in reply to RFC Getopt::Hash

Just to add the comment that even if you arent using a hash, you can have default values witrh Getopt::Long - heres a snippet from some code I'm writing right now

... use Getopt::Long; use Pod::Usage; ... GetOptions( 'd|dir=s' => \( my $outDir = '.' ), 'f|file=s' => \( my $inFile ), 'l|log=s' => \( my $logFile = './tu_log.conf' ), ); unless ( $inFile ) { pod2usage( -exitval => 1, -output => \*STDERR ); } ... __END__ =pod =head1 NAME Retail_PickList_Generator.pl - generate picklists for outstanding +Retail orders. =head1 SYNOPSIS Retail_PickList_Generator.pl --file <incoming retail order file> [ +--log <log config file> --dir <directory to write picklists to>] =cut

With the defaults, I only need supply the inward file name. And I get more specialised behaviour by passing in --dir or --log as required...

...it is better to be approximately right than precisely wrong. - Warren Buffet