use warnings; use strict; use Getopt::Long; use Pod::Usage; my %options = ( based_on => 'tp', top => 1 ); GetOptions( \%options, 'based_on=s', 'top=i', 'man', 'help', ) || pod2usage(2); pod2usage(1) if $options{'help'}; pod2usage( '-verbose' => 2 ) if $options{'man'}; #### %> myprog -based_on sn -top 5 # or as %> myprog -top 3 -based_on sn #or you can use the automaticly provided abbreviation recognition ... %> myprog -base sn -t 2 # or use tht default values %> myprog #### #!/usr/bin/perl #### perldoc perltoc