$ perl -se " use Data:::Dump qw/ dd /; dd( \@ARGV, $pan ) " -- -pan=cakes ro sham bo (["ro", "sham", "bo"], "cakes") $ perl -e " use Data::Dump qw/ dd /; use Getopt::Long; my %opt; GetOptions( \%opt, qw[ pan=s bo! ]); dd( \%opt , \@ARGV ) " -- -pan=cakes bi bicky by -bo bo ({ bo => 1, pan => "cakes" }, ["bi", "bicky", "by", "bo"]) $ perl -e " use Data::Dump qw/ dd /; Main( @ARGV ); sub Main { dd( \@_ ); } " ba bay bi bi bo bicky bi bo bo ["ba", "bay", "bi", "bi", "bo", "bicky", "bi", "bo", "bo"]