NAME
Getopt::Long::Modern - Use Getopt::Long with modern defaults
SYNOPSIS
use Getopt::Long::Modern;
GetOptions(
"f|foo=i" => \my $foo,
"b|bar" => \my $bar,
"Z|baz=s" => \my @baz,
);
DESCRIPTION
Getopt::Long::Modern is a simple wrapper of Getopt::Long to reduce the amount of typing needed to get modern defaults, and to avoid having to remember the correct incantations. See "Summary of Option Specifications" in Getopt::Long for details on specifying options using Getopt::Long.
Only the GetOptions
function from Getopt::Long is exported. Additional Getopt::Long configuration may be passed as import parameters.
use Getopt::Long::Modern qw(auto_help auto_version pass_through);
# perl 5.8.1+ or Getopt::Long 2.33+ required for auto_help and auto_version
For any more advanced usage, you should probably use Getopt::Long directly.
DEFAULTS
Getopt::Long::Modern currently sets the following configuration options by default. See "Configuring Getopt::Long" in Getopt::Long for more details on available configuration.
gnu_getopt
This sets gnu_compat
to allow --opt=
for setting an empty string option, bundling
to allow short options to be bundled together, permute
to allow specifying options before or after other arguments, and no_getopt_compat
to disallow +
for specifying options.
no_auto_abbrev
This disables the functionality that automatically allows abbreviated versions of any option, because no one is ever going to specify --foo
as --fo
, and it is not useful when you have multiple options that abbreviate to the same single-letter option. When it is desired to have a single-letter short option versions available, this can be specified explicitly with the normal |
syntax.
no_ignore_case
This makes all options case-sensitive, which is expected and required when explicitly specifying short options of the same character but different case.
BUGS
Report any issues on the public bugtracker.
AUTHOR
Dan Book <dbook@cpan.org>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2015 by Dan Book.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)