This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
integrate change#2053 from maint-5.005
[perl5.git] / t / cmd / while.t
index c6e464d..392c137 100755 (executable)
@@ -2,7 +2,7 @@
 
 # $RCSfile: while.t,v $$Revision: 4.1 $$Date: 92/08/07 18:27:15 $
 
-print "1..10\n";
+print "1..15\n";
 
 open (tmp,'>Cmd_while.tmp') || die "Can't create Cmd_while.tmp.";
 print tmp "tvi925\n";
@@ -109,3 +109,22 @@ $i = 9;
     $i++;
 }
 print "ok $i\n";
+
+# Check curpm is reset when jumping out of a scope
+'abc' =~ /b/;
+WHILE:
+while (1) {
+  $i++;
+  print "#$`,$&,$',\nnot " unless $` . $& . $' eq "abc";
+  print "ok $i\n";
+  {                             # Localize changes to $` and friends
+    'end' =~ /end/;
+    redo WHILE if $i == 11;
+    next WHILE if $i == 12;
+    # 13 do a normal loop
+    last WHILE if $i == 14;
+  }
+}
+$i++;
+print "not " unless $` . $& . $' eq "abc";
+print "ok $i\n";