in reply to pod2usage does not work for verbose level 1.

Looking at the Pod::Usage documentation, it says that when you call pod2usage with a single numerical argument, that argument is the exit status, not the verbose level...but it also says that an exit status of 1 would be a verbose level of 1 also.

Maybe you should show us the POD documentation as it appears in the file that's giving you problems. When I attach my own little POD and try it with your code, it works (prints the synopsis).

Update: Here's the code I tried:

#use strict; use warnings; use Getopt::Long; use Pod::Usage; &GetOptions( 'h|help' => \$opt_help, 'man' => sub{ pod2usage({-verbose=>2, -exitval=>0}); }, 'q|quiet' => \$opt_quiet, 'c|config=s' => \@opt_config, 'p|project=s' => \$opt_proj ) || pod2usage(1); if($opt_help){ print "help---------------\n"; pod2usage(1); } __END__ =head 1 NAME perlmonks.pl - Test for http://perlmonks.org/?node_id=664898 =head1 SYNOPSIS perlmonks.pl [options] Options: -h, --help brief help message --man full documentation =cut