AppConfig::Getopt3pm
Perl5 module for processing command line arguments via delegation to getopt::long.
Usage
use AppConfig::Getopt;my $state = AppConfig::State->new(\%cfg);my $getopt = AppConfig::Getopt->new($state);$getopt->parse(\@args); # read args
Overview
AppConfig::Getopt is a Perl5 module which delegates to Johan Vroman's Getopt::Long module to parse command line arguments and update values in an AppConfig::State object accordingly.
AppConfig::Getopt is distributed as part of the AppConfig bundle.
Overview
USING THE AppConfig::Getopt MODULE
To import and use the AppConfig::Getopt module the following line should appear in your Perl script:
use AppConfig::Getopt;
AppConfig::Getopt is used automatically if you use the AppConfig module and create an AppConfig::Getopt object through the getopt() method.
AppConfig::Getopt is implemented using object-oriented methods. A new AppConfig::Getopt object is created and initialised using the new() method. This returns a reference to a new AppConfig::Getopt object. A reference to an AppConfig::State object should be passed in as the first parameter:
my $state = AppConfig::State->new();my $getopt = AppConfig::Getopt->new($state);
This will create and return a reference to a new AppConfig::Getopt object.
Parsing command line arguments
The parse() method is used to read a list of command line arguments and update the state accordingly.
The first (non-list reference) parameters may contain a number of configuration strings to pass to Getopt::Long::Configure. A reference to a list of arguments may additionally be passed or @ARGV is used by default.
$getopt->parse(); # uses @ARGV$getopt->parse(\@myargs);$getopt->parse(qw(auto_abbrev debug)); # uses @ARGV$getopt->parse(qw(debug), \@myargs);
See Getopt::Long for details of the configuartion options available.
A Getopt::Long specification string is constructed for each variable defined in the AppConfig::State. This consists of the name, any aliases and the ARGS value for the variable.
These specification string are then passed to Getopt::Long, the arguments are parsed and the values in the AppConfig::State updated.
See AppConfig for information about using the AppConfig::Getopt module via the getopt() method.
Acknowledgments
Many thanks are due to Johan Vromans for the Getopt::Long module. He was kind enough to offer assistance and access to early releases of his code to enable this module to be written.
Releases
13 releases since Debian 3.0 (Woody); the text changed 8 times.