PDL::Pod::Usage.3pm

Langue: en

Version: 2009-10-17 (fedora - 01/12/10)

Section: 3 (Bibliothèques de fonctions)

NAME

pod2usage - print a usage message using a script's embedded pod documentation

SYNOPSIS

     use PDL::Pod::Usage;
     pod2usage();
     pod2usage(2);
     pod2usage({EXIT => 2});
     pod2usage({EXIT => 2, VERBOSE => 0});
     pod2usage(EXIT => 1, VERBOSE => 2, OUTPUT=\*STDERR);
     pod2usage(VERBOSE => 2);
 
 

DESCRIPTION

pod2usage will print a usage message for the invoking script (using its embedded pod documentation) and then exit the script with the specified exit value. It takes a single argument which is either a numeric value corresponding to the desired exit status (which defaults to 2), or a reference to a hash. If more than one argument is given then the entire argument list is assumed to be a hash. If a hash is supplied it should contain elements with one or more of the following keys:
EXIT
The desired exit status to pass to the exit() function.
VERBOSE
The desired level of ``verboseness'' to use when printing the usage message. If the corresponding value is 0, then only the ``SYNOPSIS'' section of the pod documentation is printed. If the corresponding value is 1, then the ``SYNOPSIS'' section, along with any section entitled ``OPTIONS'', ``ARGUMENTS'', or ``OPTIONS AND ARGUMENTS'' is printed. If the corresponding value is 2 or more then the entire manpage is printed.
OUTPUT
A reference to a filehandle, or the pathname of a file to which the usage message should be written. The default is "\*STDERR" unless the exit value is less than 2 (in which case the default is "\*STDOUT").
INPUT
A reference to a filehandle, or the pathname of a file from which the invoking script's pod documentation should be read. It defaults to the file indicated by $0 ($PROGRAM_NAME for "use English;" users).

If neither the exit value nor the verbose level is specified, then the default is to use an exit value of 2 with a verbose level of 0.

If an exit value is specified but the verbose level is not, then the verbose level will default to 1 if the exit value is less than 2 and will default to 0 otherwise.

If a verbose level is specified but an exit value is not, then the exit value will default to 2 if the verbose level is 0 and will default to 1 otherwise.

EXAMPLE

Most scripts should print some type of usage message to STDERR when a command line syntax error is detected. They should also provide an option (usually "-h" or "-help") to print a (possibly more verbose) usage message to STDOUT. Some scripts may even wish to go so far as to provide a means of printing their complete documentation to STDOUT (perhaps by allowing a "-man" option). The following example uses pod2usage in combination with Getopt::Long to do all of these things:
     use PDL::Pod::Usage;
     use Getopt::Long;
 
     GetOptions("help", "man")  ||  pod2usage(2);
     pod2usage(1)  if ($opt_help);
     pod2usage(VERBOSE => 2)  if ($opt_man);
 
 

CAVEATS

By default, pod2usage() will use $0 as the path to the pod input file. Unfortunately, not all systems on which Perl runs will set $0 properly (although if $0 isn't found, pod2usage() will search $ENV{PATH}). If this is the case for your system, you may need to explicitly specify the path to the pod docs for the invoking script using something similar to the following:
*
"pod2usage(EXIT => 2, INPUT => "/path/to/your/pod/docs");"

AUTHOR

Brad Appleton <Brad_Appleton-GBDA001@email.mot.com>

Based on code for Pod::Text::pod2text() written by Tom Christiansen <tchrist@mox.perl.com>