X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2Fgetopt.pl;h=77d8d899a4a5ff374b02be26c92e060a4fd60b9b;hb=e28bb1d52bee845e0aab3d253cd27698a545c674;hp=b85b643e22bb5d9bbac0c5ab84ee0fd75e565c1a;hpb=a687059cbaf2c6fdccb5e0fae2aee80ec15625a8;p=p5sagit%2Fp5-mst-13.2.git diff --git a/lib/getopt.pl b/lib/getopt.pl index b85b643..77d8d89 100644 --- a/lib/getopt.pl +++ b/lib/getopt.pl @@ -1,5 +1,13 @@ -;# $Header: getopt.pl,v 3.0 89/10/18 15:19:26 lwall Locked $ - +;# $RCSfile: getopt.pl,v $$Revision: 4.1 $$Date: 92/08/07 18:23:58 $ +# +# This library is no longer being maintained, and is included for backward +# compatibility with Perl 4 programs which may require it. +# +# In particular, this should not be used as an example of modern Perl +# programming techniques. +# +# Suggested alternatives: Getopt::Long or Getopt::Std +# ;# Process single-character switches with switch clustering. Pass one argument ;# which is a string containing all switches that take an argument. For each ;# switch found, sets $opt_x (where x is the switch name) to the value of the @@ -12,8 +20,9 @@ sub Getopt { local($argumentative) = @_; local($_,$first,$rest); + local($[) = 0; - while (($_ = $ARGV[0]) =~ /^-(.)(.*)/) { + while (@ARGV && ($_ = $ARGV[0]) =~ /^-(.)(.*)/) { ($first,$rest) = ($1,$2); if (index($argumentative,$first) >= $[) { if ($rest ne '') { @@ -23,10 +32,10 @@ sub Getopt { shift(@ARGV); $rest = shift(@ARGV); } - eval "\$opt_$first = \$rest;"; + ${"opt_$first"} = $rest; } else { - eval "\$opt_$first = 1;"; + ${"opt_$first"} = 1; if ($rest ne '') { $ARGV[0] = "-$rest"; }