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

use Getopt::Long; my ($name, $debug, $help); if ( ! GetOptions( 'name=s' => \$name, 'verbose' => \$debug, 'help|?' => \$help ) or defined $help ) { usage(); } sub usage { print "Usage:\t " . (basename $0) . " [OPTIONS]\n"; print "Options:\n"; }