shared hash keys and ++/--
[p5sagit/p5-mst-13.2.git] / t / op / goto.t
index 6f9e349..a0b4d55 100755 (executable)
@@ -2,7 +2,7 @@
 
 # "This IS structured code.  It's just randomly structured."
 
-print "1..21\n";
+print "1..22\n";
 
 while ($?) {
     $foo = 1;
@@ -29,7 +29,7 @@ label4:
 print "#2\t:$foo: == 4\n";
 if ($foo == 4) {print "ok 2\n";} else {print "not ok 2\n";}
 
-$PERL = ($^O eq 'MSWin32') ? '.\perl' : './perl';
+$PERL = ($^O eq 'MSWin32') ? '.\perl' : ($^O eq 'MacOS') ? $^X : ($^O eq 'NetWare') ? 'perl' : './perl';
 $CMD = qq[$PERL -e "goto foo;" 2>&1 ];
 $x = `$CMD`;
 
@@ -129,6 +129,21 @@ eval q{
 print ($ok&&!$@ ? "ok 21\n" : "not ok 21\n");
 
 
+# Test that goto works in nested eval-string
+$ok = 0;
+{eval q{
+  eval q{
+    goto LABEL22;
+  };
+  $ok = 0;
+  last;
+
+  LABEL22: $ok = 1;
+};
+$ok = 0 if $@;
+}
+print ($ok ? "ok 22\n" : "not ok 22\n");
+
 exit;
 
 bypass: