d284b5b19269c807b90420d409bef2ff8f6a9a61
[perl.git] / lib / newgetopt.pl
1 # newgetopt.pl -- new options parsing.
2 # Now just a wrapper around the Getopt::Long module.
3 # $Id: newgetopt.pl,v 1.16 1996/03/16 11:46:08 jv Exp $
4
5 {   package newgetopt;
6
7     # Values for $order. See GNU getopt.c for details.
8     $REQUIRE_ORDER = 0;
9     $PERMUTE = 1;
10     $RETURN_IN_ORDER = 2;
11
12     # Handle POSIX compliancy.
13     if ( defined $ENV{"POSIXLY_CORRECT"} ) {
14         $autoabbrev = 0;        # no automatic abbrev of options (???)
15         $getopt_compat = 0;     # disallow '+' to start options
16         $option_start = "(--|-)";
17         $order = $REQUIRE_ORDER;
18         $bundling = 0;
19     }
20     else {
21         $autoabbrev = 1;        # automatic abbrev of options
22         $getopt_compat = 1;     # allow '+' to start options
23         $option_start = "(--|-|\\+)";
24         $order = $PERMUTE;
25         $bundling = 0;
26     }
27
28     # Other configurable settings.
29     $debug = 0;                 # for debugging
30     $ignorecase = 1;            # ignore case when matching options
31     $argv_end = "--";           # don't change this!
32 }
33
34 use Getopt::Long;
35
36 ################ Subroutines ################
37
38 sub NGetOpt {
39
40     $Getopt::Long::debug = $newgetopt::debug 
41         if defined $newgetopt::debug;
42     $Getopt::Long::autoabbrev = $newgetopt::autoabbrev 
43         if defined $newgetopt::autoabbrev;
44     $Getopt::Long::getopt_compat = $newgetopt::getopt_compat 
45         if defined $newgetopt::getopt_compat;
46     $Getopt::Long::option_start = $newgetopt::option_start 
47         if defined $newgetopt::option_start;
48     $Getopt::Long::order = $newgetopt::order 
49         if defined $newgetopt::order;
50     $Getopt::Long::bundling = $newgetopt::bundling 
51         if defined $newgetopt::bundling;
52     $Getopt::Long::ignorecase = $newgetopt::ignorecase 
53         if defined $newgetopt::ignorecase;
54
55     &GetOptions;
56 }
57
58 ################ Package return ################
59
60 1;
61
62 ################ End of newgetopt.pl ################