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