NAME
AppConfig::Args - Perl5 module for reading command line arguments.
SYNOPSIS
use AppConfig::Args;
my $state = AppConfig::State->new(\%cfg);
my $cfgargs = AppConfig::Args->new($state);
$cfgargs->args(\@args); # read args
OVERVIEW
AppConfig::Args is a Perl5 module which reads command line arguments and uses the options therein to update variable values in an AppConfig::State object.
AppConfig::File is distributed as part of the AppConfig bundle.
DESCRIPTION
USING THE AppConfig::Args MODULE
To import and use the AppConfig::Args module the following line should appear in your Perl script:
use AppConfig::Args;
AppConfig::Args is used automatically if you use the AppConfig module and create an AppConfig::Args object through the args() method.
AppConfig::File is implemented using object-oriented methods. A new AppConfig::Args is implemented using object-oriented methods. A new AppConfig::Args object is created and initialised using the new() method. This returns a reference to a new AppConfig::File object. A reference to an AppConfig::State object should be passed in as the first parameter:
my $state = AppConfig::State->new();
my $cfgargs = AppConfig::Args->new($state);
This will create and return a reference to a new AppConfig::Args object.
PARSING COMMAND LINE ARGUMENTS
The args()
method is used to read a list of command line arguments and update the STATE accordingly. A reference to the list of arguments should be passed in.
$cfgargs->args(\@ARGV);
If the PEDANTIC option is turned off in the App::State object, any parsing errors (invalid variables, unvalidated values, etc) will generated warnings, but not cause the method to return. Having processed all arguments, the method will return 1 if processed without warning or 0 if one or more warnings were raised. When the PEDANTIC option is turned on, the method generates a warning and immediately returns a value of 0 as soon as it encounters any parsing error.
The method continues parsing arguments until it detects the first one that does not start with a leading dash, '-'. Arguments that constitute values for other options are not examined in this way.
FUTURE DEVELOPMENT
This module was developed to provide backwards compatibility (to some degree) with the preceeding App::Config module. The argument parsing it provides is a little primitive and with the exception of bug fixes, no further development effort of any significance will be spent on it.
The AppConfig::Getopt module (coming soon) provides considerably extended functionality over this module by delegating out the task of argument parsing to Johan Vromans' Getopt::Long module. For advanced command-line parsing, this module (either Getopt::Long by itself, or in conjunction with AppConfig::getopt) is highly recommended.
AUTHOR
Andy Wardley, <abw@cre.canon.co.uk>
Web Technology Group, Canon Research Centre Europe Ltd.
REVISION
$Revision: 0.1 $
COPYRIGHT
Copyright (C) 1998 Canon Research Centre Europe Ltd. All Rights Reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
SEE ALSO
AppConfig, AppConfig::State, AppConfig::File