You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
2.9 KiB
102 lines
2.9 KiB
# NOTE: Derived from ../LIB\Getopt\Long.pm.
|
|
# Changes made here will be lost when autosplit is run again.
|
|
# See AutoSplit.pm.
|
|
package Getopt::Long;
|
|
|
|
#line 920 "../LIB\Getopt\Long.pm (autosplit into ..\lib\auto\Getopt\Long\Configure.al)"
|
|
# Getopt::Long Configuration.
|
|
sub Configure (@) {
|
|
my (@options) = @_;
|
|
|
|
my $prevconfig =
|
|
[ $error, $debug, $major_version, $minor_version,
|
|
$autoabbrev, $getopt_compat, $ignorecase, $bundling, $order,
|
|
$gnu_compat, $passthrough, $genprefix ];
|
|
|
|
if ( ref($options[0]) eq 'ARRAY' ) {
|
|
( $error, $debug, $major_version, $minor_version,
|
|
$autoabbrev, $getopt_compat, $ignorecase, $bundling, $order,
|
|
$gnu_compat, $passthrough, $genprefix ) = @{shift(@options)};
|
|
}
|
|
|
|
my $opt;
|
|
foreach $opt ( @options ) {
|
|
my $try = lc ($opt);
|
|
my $action = 1;
|
|
if ( $try =~ /^no_?(.*)$/s ) {
|
|
$action = 0;
|
|
$try = $+;
|
|
}
|
|
if ( ($try eq 'default' or $try eq 'defaults') && $action ) {
|
|
ConfigDefaults ();
|
|
}
|
|
elsif ( ($try eq 'posix_default' or $try eq 'posix_defaults') ) {
|
|
local $ENV{POSIXLY_CORRECT};
|
|
$ENV{POSIXLY_CORRECT} = 1 if $action;
|
|
ConfigDefaults ();
|
|
}
|
|
elsif ( $try eq 'auto_abbrev' or $try eq 'autoabbrev' ) {
|
|
$autoabbrev = $action;
|
|
}
|
|
elsif ( $try eq 'getopt_compat' ) {
|
|
$getopt_compat = $action;
|
|
}
|
|
elsif ( $try eq 'gnu_getopt' ) {
|
|
if ( $action ) {
|
|
$gnu_compat = 1;
|
|
$bundling = 1;
|
|
$getopt_compat = 0;
|
|
$permute = 1;
|
|
}
|
|
}
|
|
elsif ( $try eq 'gnu_compat' ) {
|
|
$gnu_compat = $action;
|
|
}
|
|
elsif ( $try eq 'ignorecase' or $try eq 'ignore_case' ) {
|
|
$ignorecase = $action;
|
|
}
|
|
elsif ( $try eq 'ignore_case_always' ) {
|
|
$ignorecase = $action ? 2 : 0;
|
|
}
|
|
elsif ( $try eq 'bundling' ) {
|
|
$bundling = $action;
|
|
}
|
|
elsif ( $try eq 'bundling_override' ) {
|
|
$bundling = $action ? 2 : 0;
|
|
}
|
|
elsif ( $try eq 'require_order' ) {
|
|
$order = $action ? $REQUIRE_ORDER : $PERMUTE;
|
|
}
|
|
elsif ( $try eq 'permute' ) {
|
|
$order = $action ? $PERMUTE : $REQUIRE_ORDER;
|
|
}
|
|
elsif ( $try eq 'pass_through' or $try eq 'passthrough' ) {
|
|
$passthrough = $action;
|
|
}
|
|
elsif ( $try =~ /^prefix=(.+)$/ && $action ) {
|
|
$genprefix = $1;
|
|
# Turn into regexp. Needs to be parenthesized!
|
|
$genprefix = "(" . quotemeta($genprefix) . ")";
|
|
eval { '' =~ /$genprefix/; };
|
|
Croak ("Getopt::Long: invalid pattern \"$genprefix\"") if $@;
|
|
}
|
|
elsif ( $try =~ /^prefix_pattern=(.+)$/ && $action ) {
|
|
$genprefix = $1;
|
|
# Parenthesize if needed.
|
|
$genprefix = "(" . $genprefix . ")"
|
|
unless $genprefix =~ /^\(.*\)$/;
|
|
eval { '' =~ /$genprefix/; };
|
|
Croak ("Getopt::Long: invalid pattern \"$genprefix\"") if $@;
|
|
}
|
|
elsif ( $try eq 'debug' ) {
|
|
$debug = $action;
|
|
}
|
|
else {
|
|
Croak ("Getopt::Long: unknown config parameter \"$opt\"")
|
|
}
|
|
}
|
|
$prevconfig;
|
|
}
|
|
|
|
# end of Getopt::Long::Configure
|
|
1;
|