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#
7# In particular, this should not be used as an example of modern Perl
8# programming techniques.
9#
10# Suggested alternative: Getopt::Long
11
12{   package newgetopt;
13
14    # Values for $order. See GNU getopt.c for details.
15    $REQUIRE_ORDER = 0;
16    $PERMUTE = 1;
17    $RETURN_IN_ORDER = 2;
18
19    # Handle POSIX compliancy.
20    if ( defined $ENV{"POSIXLY_CORRECT"} ) {
21	$autoabbrev = 0;	# no automatic abbrev of options (???)
22	$getopt_compat = 0;	# disallow '+' to start options
23	$option_start = "(--|-)";
24	$order = $REQUIRE_ORDER;
25	$bundling = 0;
26	$passthrough = 0;
27    }
28    else {
29	$autoabbrev = 1;	# automatic abbrev of options
30	$getopt_compat = 1;	# allow '+' to start options
31	$option_start = "(--|-|\\+)";
32	$order = $PERMUTE;
33	$bundling = 0;
34	$passthrough = 0;
35    }
36
37    # Other configurable settings.
38    $debug = 0;			# for debugging
39    $ignorecase = 1;		# ignore case when matching options
40    $argv_end = "--";		# don't change this!
41}
42
43use Getopt::Long;
44
45################ Subroutines ################
46
47sub NGetOpt {
48
49    $Getopt::Long::debug = $newgetopt::debug
50	if defined $newgetopt::debug;
51    $Getopt::Long::autoabbrev = $newgetopt::autoabbrev
52	if defined $newgetopt::autoabbrev;
53    $Getopt::Long::getopt_compat = $newgetopt::getopt_compat
54	if defined $newgetopt::getopt_compat;
55    $Getopt::Long::option_start = $newgetopt::option_start
56	if defined $newgetopt::option_start;
57    $Getopt::Long::order = $newgetopt::order
58	if defined $newgetopt::order;
59    $Getopt::Long::bundling = $newgetopt::bundling
60	if defined $newgetopt::bundling;
61    $Getopt::Long::ignorecase = $newgetopt::ignorecase
62	if defined $newgetopt::ignorecase;
63    $Getopt::Long::ignorecase = $newgetopt::ignorecase
64	if defined $newgetopt::ignorecase;
65    $Getopt::Long::passthrough = $newgetopt::passthrough
66	if defined $newgetopt::passthrough;
67
68    &GetOptions;
69}
70
71################ Package return ################
72
731;
74
75################ End of newgetopt.pl ################
76