This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Make pp_reverse fetch the lexical $_ from the correct pad
[perl5.git] / lib / newgetopt.pl
1 # $Id: newgetopt.pl,v 1.18 2001/09/21 13:34:59 jv Exp $
2
3 # This library is no longer being maintained, and is included for backward
4 # compatibility with Perl 4 programs which may require it.
5 # It is now just a wrapper around the Getopt::Long module.
6 # This legacy library is deprecated and will be removed in a future
7 # release of perl.
8 #
9 # In particular, this should not be used as an example of modern Perl
10 # programming techniques.
11 #
12 # Suggested alternative: Getopt::Long
13
14 {   package newgetopt;
15
16     # Values for $order. See GNU getopt.c for details.
17     $REQUIRE_ORDER = 0;
18     $PERMUTE = 1;
19     $RETURN_IN_ORDER = 2;
20
21     # Handle POSIX compliancy.
22     if ( defined $ENV{"POSIXLY_CORRECT"} ) {
23         $autoabbrev = 0;        # no automatic abbrev of options (???)
24         $getopt_compat = 0;     # disallow '+' to start options
25         $option_start = "(--|-)";
26         $order = $REQUIRE_ORDER;
27         $bundling = 0;
28         $passthrough = 0;
29     }
30     else {
31         $autoabbrev = 1;        # automatic abbrev of options
32         $getopt_compat = 1;     # allow '+' to start options
33         $option_start = "(--|-|\\+)";
34         $order = $PERMUTE;
35         $bundling = 0;
36         $passthrough = 0;
37     }
38
39     # Other configurable settings.
40     $debug = 0;                 # for debugging
41     $ignorecase = 1;            # ignore case when matching options
42     $argv_end = "--";           # don't change this!
43 }
44
45 use Getopt::Long;
46
47 ################ Subroutines ################
48
49 sub NGetOpt {
50
51     $Getopt::Long::debug = $newgetopt::debug 
52         if defined $newgetopt::debug;
53     $Getopt::Long::autoabbrev = $newgetopt::autoabbrev 
54         if defined $newgetopt::autoabbrev;
55     $Getopt::Long::getopt_compat = $newgetopt::getopt_compat 
56         if defined $newgetopt::getopt_compat;
57     $Getopt::Long::option_start = $newgetopt::option_start 
58         if defined $newgetopt::option_start;
59     $Getopt::Long::order = $newgetopt::order 
60         if defined $newgetopt::order;
61     $Getopt::Long::bundling = $newgetopt::bundling 
62         if defined $newgetopt::bundling;
63     $Getopt::Long::ignorecase = $newgetopt::ignorecase 
64         if defined $newgetopt::ignorecase;
65     $Getopt::Long::ignorecase = $newgetopt::ignorecase 
66         if defined $newgetopt::ignorecase;
67     $Getopt::Long::passthrough = $newgetopt::passthrough 
68         if defined $newgetopt::passthrough;
69
70     &GetOptions;
71 }
72
73 ################ Package return ################
74
75 1;
76
77 ################ End of newgetopt.pl ################