On 10 Mar 2004 at 11:25, David Good wrote:
> It takes about 10 seconds for the par-bundled program to run with the
> --help option (and do nothing). It finishes in less than a second if
> I remove the --help option.
By default, Pod::Usage tries to open the executing file and read it. That means it is
probably trying to open and read the binary zipped contents of "test", and spending a
lot of time trying to find pod lines in there...
>
> Any suggestions (even if it's just "Don't use Pod::Usage")?
>
Patient: It hurts when I do this.
Doctor: Don't do that !
Seriously, if you don't mind having your all your usage pod after a __DATA__
statement,
the following works for straight perl or PAR executables 'cause it reads from inside
the running perl:
################################
#!perl -w
use strict;
use warnings;
use Getopt::Long;
use Pod::Usage;
my $help;
GetOptions(
"help" => \$help,
) or pod2usage(-exitval => 2, -input => \*DATA);
pod2usage(-exitval => 1, -input => \*DATA) if $help;
die "Made it past the options...\n";
__DATA__
=head1 NAME
test - Test Pod::Usage with PAR
=head1 SYNOPSIS
test [options]
=head1 OPTIONS
=over 8
=item B<--help>
Print a brief help message and exit.
=back
################################
Alan Stewart