getopt - Process single-character switches with switch clustering |
getopt - Process single-character switches with switch clustering
getopts - Process single-character switches with switch clustering
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
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 |