---
name: "AppConfig::Getopt"
section: "3pm"
platform: "linux"
package: "perl-appconfig"
version: "1.71-15"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/AppConfig::Getopt"
---

# AppConfig::Getopt(3pm)

Perl5 module for processing command line arguments via delegation to Getopt::Long.

## 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
