Banishing eval from getopt.pl and Getopt/Std.pm
John L. Allen [Fri, 5 Sep 1997 00:00:00 +0000 (00:00 +0000)]
This is a minimal patch *adding no new features*.
I submitted a prior patch that reworded the pods and allowed -- to
terminate args, among other things, but it never made it
in.  Perhaps this will.

p5p-msgid: Pine.SOL.3.91.970920154720.3683A@gateway

lib/Getopt/Std.pm
lib/getopt.pl

index fee0d33..2788293 100644 (file)
@@ -67,7 +67,7 @@ sub getopt ($;$) {
               $$hash{$first} = $rest;
           }
           else {
-              eval "\$opt_$first = \$rest;";
+              ${"opt_$first"} = $rest;
               push( @EXPORT, "\$opt_$first" );
           }
        }
@@ -76,7 +76,7 @@ sub getopt ($;$) {
               $$hash{$first} = 1;
           }
           else {
-              eval "\$opt_$first = 1;";
+              ${"opt_$first"} = 1;
               push( @EXPORT, "\$opt_$first" );
           }
            if ($rest ne '') {
@@ -116,7 +116,7 @@ sub getopts ($;$) {
                   $$hash{$first} = $rest;
               }
               else {
-                  eval "\$opt_$first = \$rest;";
+                  ${"opt_$first"} = $rest;
                   push( @EXPORT, "\$opt_$first" );
               }
            }
@@ -125,7 +125,7 @@ sub getopts ($;$) {
                   $$hash{$first} = 1;
               }
               else {
-                  eval "\$opt_$first = 1";
+                  ${"opt_$first"} = 1;
                   push( @EXPORT, "\$opt_$first" );
               }
                if($rest eq '') {
index a6023c8..f871e41 100644 (file)
@@ -24,10 +24,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";
            }