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

Reply via email to