home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / perl-5.003-base.tgz / perl-5.003-base.tar / fsf / perl / lib / newgetopt.pl < prev    next >
Text File  |  1996-02-12  |  2KB  |  59 lines

  1. # newgetopt.pl -- new options parsing.
  2. # Now just a wrapper around the Getopt::Long module.
  3. # $Id: newgetopt.pl,v 1.15 1995/12/26 14:57:33 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.     }
  19.     else {
  20.     $autoabbrev = 1;    # automatic abbrev of options
  21.     $getopt_compat = 1;    # allow '+' to start options
  22.     $option_start = "(--|-|\\+)";
  23.     $order = $PERMUTE;
  24.     }
  25.  
  26.     # Other configurable settings.
  27.     $debug = 0;            # for debugging
  28.     $ignorecase = 1;        # ignore case when matching options
  29.     $argv_end = "--";        # don't change this!
  30. }
  31.  
  32. use Getopt::Long;
  33.  
  34. ################ Subroutines ################
  35.  
  36. sub NGetOpt {
  37.  
  38.     $Getopt::Long::debug = $newgetopt::debug 
  39.     if defined $newgetopt::debug;
  40.     $Getopt::Long::autoabbrev = $newgetopt::autoabbrev 
  41.     if defined $newgetopt::autoabbrev;
  42.     $Getopt::Long::getopt_compat = $newgetopt::getopt_compat 
  43.     if defined $newgetopt::getopt_compat;
  44.     $Getopt::Long::option_start = $newgetopt::option_start 
  45.     if defined $newgetopt::option_start;
  46.     $Getopt::Long::order = $newgetopt::order 
  47.     if defined $newgetopt::order;
  48.     $Getopt::Long::ignorecase = $newgetopt::ignorecase 
  49.     if defined $newgetopt::ignorecase;
  50.  
  51.     &GetOptions;
  52. }
  53.  
  54. ################ Package return ################
  55.  
  56. 1;
  57.  
  58. ################ End of newgetopt.pl ################
  59.