in reply to Getopt::Long good style?

For what it is worth, here is some GetOpt_Long code that I recently used:
use strict; use Getopt::Long; use Pod::Usage; my $verbose = 0; my %opts = ('verbose' => \$verbose); GetOptions(\%opts, ## throw our options into a hash "infile=s", ## incoming mbox file "offset=i", ## seek position (in bytes) "logfile=s", ## file to log into "onerun!", ## only read the first message "maxrun|max=i", ## maximum number of messages to read "verbose+", ## set verbosity level "finduser!", ## attempt to perform user lookup. "nslookup!", ## attempt to perform nslookup for zone ... slo +w "help|?", ## prints usage message. "man", ## prints entire POD. ) or pod2usage(0); pod2usage(-verbose => 2) if exists $opts{man}; pod2usage(-verbose => 1) if exists $opts{help}; pod2usage(-msg => "missing infile: --help for more information", -verbose => 0) unless exists $opts{infile}; etc, etc
...and then my POD has a SYNOPSIS and an OPTIONS AND ARGUMENTS section.
I, like naChoZ, prefer the use of an options hash. It makes it easier when I need them in a subroutine I can just pass a reference to that hash.

The Getopt::Long POD suggested the use of Pod::Usage.

-xtype