NAME¶
AppConfig::Getopt - Perl5 module for processing command line arguments via
delegation to Getopt::Long.
SYNOPSIS¶
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.
DESCRIPTION¶
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.
AUTHOR¶
Andy Wardley, <abw@wardley.org>
COPYRIGHT¶
Copyright (C) 1997-2007 Andy Wardley. All Rights Reserved.
Copyright (C) 1997,1998 Canon Research Centre Europe Ltd.
This module is free software; you can redistribute it and/or modify it under the
same terms as Perl itself.
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.
SEE ALSO¶
AppConfig, AppConfig::State, AppConfig::Args, Getopt::Long