Getopt::Long
If your program says:
use Getopt::Long; GetOptions("verbose" => \$verbose, "debug" => \$debug, "output=s" => \$output);
it can be called from the command line like this:
%prog --verbose more args here
%prog --debug more args here
%prog -v -d more args here
%prog --output=somefile more args here
%prog -o somefile more args here
The
Getopt::Long
module provides a GetOptions
function to process command-line switches with long names. It includes support for things like abbreviating switches, typed arguments like Boolean or string or integer or float, array variables for repeating options, user-defined validation routines, POSIX-conforming versus FSF-style processing, case-insensitive options, and traditional bundling of short options--just to name a few out of its vast cornucopia of features. If this module is overkill, consider the more traditional Getopt::Std
module described next. If this module is underkill, check out the CPAN module Getopt::Declare
, which provides a more declarative syntax for option specification.