getopt - Process single-character switches with switch clustering

- NAME
- SYNOPSIS
- DESCRIPTION

# NAME

getopt - Process single-character switches with switch clustering

getopts - Process single-character switches with switch clustering

# SYNOPSIS

        use Getopt::Std;

        getopt('oDI');    # -o, -D & -I take arg.  Sets opt_* as a side effect.
        getopt('oDI', \%opts);    # -o, -D & -I take arg.  Values in %opts
        getopts('oif:');  # -o & -i are boolean flags, -f takes an argument
                          # Sets opt_* as a side effect.
        getopts('oif:', \%opts);  # options as above. Values in %opts

# DESCRIPTION

The `getopt()` functions processes single-character switches with switch clustering. Pass one argument which is a string containing all switches that take an argument. For each switch found, sets $opt_x (where x is the switch name) to the value of the argument, or 1 if no argument. Switches which take an argument don't care whether there is a space between the switch and the argument.

Note that, if your code is running under the recommended `use strict 'vars'` pragma, you will need to declare these package variables with ``our'':

        our($opt_foo, $opt_bar);

For those of you who don't like additional global variables being created, `getopt()` and `getopts()` will also accept a hash reference as an optional second argument. Hash keys will be x (where x is the switch name) with key values the value of the argument or 1 if no argument is specified.

To allow programs to process arguments that look like switches, but aren't, both functions will stop processing switches when they see the argument `--`. The `--` will be removed from @ARGV.

getopt - Process single-character switches with switch clustering