home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 December (Special) / PCWorld_2005-12_Special_cd.bin / Bezpecnost / lsti / lsti.exe / framework-2.5.exe / newgetopt.pl < prev    next >
Text File  |  2005-01-27  |  2KB  |  76 lines

  1. # $Id: newgetopt.pl,v 1.18 2001-09-21 15:34:59+02 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.  
  43. use Getopt::Long;
  44.  
  45. ################ Subroutines ################
  46.  
  47. sub 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.  
  73. 1;
  74.  
  75. ################ End of newgetopt.pl ################
  76.