Mini Shell
# Id: newgetopt.pl,v 1.18 2001/09/21 13:34:59 jv
# This library is no longer being maintained, and is included for backward
# compatibility with Perl 4 programs which may require it.
# It is now just a wrapper around the Getopt::Long module.
#
# In particular, this should not be used as an example of modern Perl
# programming techniques.
#
# Suggested alternative: Getopt::Long
{ package newgetopt;
# Values for $order. See GNU getopt.c for details.
$REQUIRE_ORDER = 0;
$PERMUTE = 1;
$RETURN_IN_ORDER = 2;
# Handle POSIX compliancy.
if ( defined $ENV{"POSIXLY_CORRECT"} ) {
$autoabbrev = 0; # no automatic abbrev of options (???)
$getopt_compat = 0; # disallow '+' to start options
$option_start = "(--|-)";
$order = $REQUIRE_ORDER;
$bundling = 0;
$passthrough = 0;
}
else {
$autoabbrev = 1; # automatic abbrev of options
$getopt_compat = 1; # allow '+' to start options
$option_start = "(--|-|\\+)";
$order = $PERMUTE;
$bundling = 0;
$passthrough = 0;
}
# Other configurable settings.
$debug = 0; # for debugging
$ignorecase = 1; # ignore case when matching options
$argv_end = "--"; # don't change this!
}
use Getopt::Long;
################ Subroutines ################
sub NGetOpt {
$Getopt::Long::debug = $newgetopt::debug
if defined $newgetopt::debug;
$Getopt::Long::autoabbrev = $newgetopt::autoabbrev
if defined $newgetopt::autoabbrev;
$Getopt::Long::getopt_compat = $newgetopt::getopt_compat
if defined $newgetopt::getopt_compat;
$Getopt::Long::option_start = $newgetopt::option_start
if defined $newgetopt::option_start;
$Getopt::Long::order = $newgetopt::order
if defined $newgetopt::order;
$Getopt::Long::bundling = $newgetopt::bundling
if defined $newgetopt::bundling;
$Getopt::Long::ignorecase = $newgetopt::ignorecase
if defined $newgetopt::ignorecase;
$Getopt::Long::ignorecase = $newgetopt::ignorecase
if defined $newgetopt::ignorecase;
$Getopt::Long::passthrough = $newgetopt::passthrough
if defined $newgetopt::passthrough;
&GetOptions;
}
################ Package return ################
1;
################ End of newgetopt.pl ################
Zerion Mini Shell 1.0