source: trunk/third/perl/lib/newgetopt.pl @ 10724

Revision 10724, 1.9 KB checked in by ghudson, 27 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r10723, which included commits to RCS files with non-trunk default branches.
Line 
1# newgetopt.pl -- new options parsing.
2# Now just a wrapper around the Getopt::Long module.
3# $Id: newgetopt.pl,v 1.1.1.2 1997-11-13 01:48:19 ghudson 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        $passthrough = 0;
20    }
21    else {
22        $autoabbrev = 1;        # automatic abbrev of options
23        $getopt_compat = 1;     # allow '+' to start options
24        $option_start = "(--|-|\\+)";
25        $order = $PERMUTE;
26        $bundling = 0;
27        $passthrough = 0;
28    }
29
30    # Other configurable settings.
31    $debug = 0;                 # for debugging
32    $ignorecase = 1;            # ignore case when matching options
33    $argv_end = "--";           # don't change this!
34}
35
36use Getopt::Long;
37
38################ Subroutines ################
39
40sub NGetOpt {
41
42    $Getopt::Long::debug = $newgetopt::debug
43        if defined $newgetopt::debug;
44    $Getopt::Long::autoabbrev = $newgetopt::autoabbrev
45        if defined $newgetopt::autoabbrev;
46    $Getopt::Long::getopt_compat = $newgetopt::getopt_compat
47        if defined $newgetopt::getopt_compat;
48    $Getopt::Long::option_start = $newgetopt::option_start
49        if defined $newgetopt::option_start;
50    $Getopt::Long::order = $newgetopt::order
51        if defined $newgetopt::order;
52    $Getopt::Long::bundling = $newgetopt::bundling
53        if defined $newgetopt::bundling;
54    $Getopt::Long::ignorecase = $newgetopt::ignorecase
55        if defined $newgetopt::ignorecase;
56    $Getopt::Long::ignorecase = $newgetopt::ignorecase
57        if defined $newgetopt::ignorecase;
58    $Getopt::Long::passthrough = $newgetopt::passthrough
59        if defined $newgetopt::passthrough;
60
61    &GetOptions;
62}
63
64################ Package return ################
65
661;
67
68################ End of newgetopt.pl ################
Note: See TracBrowser for help on using the repository browser.