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

\s-1USING\s0 \s-1THE\s0 AppConfig::Getopt \s-1MODULE\s0

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.

\s-1PARSING\s0 \s-1COMMAND\s0 \s-1LINE\s0 \s-1ARGUMENTS\s0

The \*(C`parse()\*(C' 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 \s-1ARGS\s0 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, <[email protected]>

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.

RELATED TO AppConfig::Getopt…

AppConfig, AppConfig::State, AppConfig::Args, Getopt::Long