summaryrefslogtreecommitdiff
path: root/lib/getopts.pl
diff options
context:
space:
mode:
Diffstat (limited to 'lib/getopts.pl')
-rw-r--r--lib/getopts.pl9
1 files changed, 4 insertions, 5 deletions
diff --git a/lib/getopts.pl b/lib/getopts.pl
index a0818d1e3a..852aae89b1 100644
--- a/lib/getopts.pl
+++ b/lib/getopts.pl
@@ -8,23 +8,22 @@ 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($args[$pos+1] eq ':') {
+ if($pos >= 0) {
+ if($pos < $#args && $args[$pos+1] eq ':') {
shift(@ARGV);
if($rest eq '') {
++$errs unless @ARGV;
$rest = shift(@ARGV);
}
- eval "\$opt_$first = \$rest;";
+ ${"opt_$first"} = $rest;
}
else {
- eval "\$opt_$first = 1";
+ ${"opt_$first"} = 1;
if($rest eq '') {
shift(@ARGV);
}