# AppConfig::Args - phpMan

## 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->parse(\@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 parse() method.

    [AppConfig::File] 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 "parse()" 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->parse(\@ARGV);

    If the method is called without a reference to an argument list then it
    will examine and manipulate @ARGV.

    If the PEDANTIC option is turned off in the [AppConfig::State] object, any
    parsing errors (invalid variables, unvalidated values, etc) will
    generate 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 basic but offers a quick and efficient solution for those
    times when simple option handling is all that is required.

    If you require more flexibility in parsing command line arguments, then
    you should consider using the [AppConfig::Getopt] module. This is loaded
    and used automatically by calling the AppConfig getopt() method.

    The [AppConfig::Getopt] module provides considerably extended
    functionality over the [AppConfig::Args] 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@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.

## SEE ALSO
    AppConfig, [AppConfig::State], [AppConfig::Getopt], [Getopt::Long]

