This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perluniprops.pod: nits
[perl5.git] / lib / getopts.pl
index 4a50b8f..37ecb4a 100644 (file)
@@ -1,3 +1,5 @@
+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
+
 ;# getopts.pl - a better getopt.pl
 #
 # This library is no longer being maintained, and is included for backward
@@ -7,7 +9,7 @@
 # programming techniques.
 #
 # Suggested alternatives: Getopt::Long  or  Getopt::Std
-#
+
 ;# Usage:
 ;#      do Getopts('a:bc');  # -a takes arg. -b & -c not. Sets opt_* as a
 ;#                           #  side effect.
@@ -16,13 +18,12 @@ sub Getopts {
     local($argumentative) = @_;
     local(@args,$_,$first,$rest);
     local($errs) = 0;
-    local($[) = 0;
 
     @args = split( / */, $argumentative );
     while(@ARGV && ($_ = $ARGV[0]) =~ /^-(.)(.*)/) {
                ($first,$rest) = ($1,$2);
                $pos = index($argumentative,$first);
-               if($pos >= $[) {
+               if($pos >= 0) {
                        if($args[$pos+1] eq ':') {
                                shift(@ARGV);
                                if($rest eq '') {
@@ -31,7 +32,7 @@ sub Getopts {
                                }
                                eval "
                                push(\@opt_$first, \$rest);
-                               if(\$opt_$first eq '') {
+                               if (!defined \$opt_$first or \$opt_$first eq '') {
                                        \$opt_$first = \$rest;
                                }
                                else {