summaryrefslogtreecommitdiff
path: root/t/cmd
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>2000-01-23 06:43:51 +0000
committerGurusamy Sarathy <gsar@cpan.org>2000-01-23 06:43:51 +0000
commit1ee987245c095afd177d3e2ca6255cec8dbb53ca (patch)
tree6a572e192f37b2730dffe54c5fdd55ca80629a08 /t/cmd
parent43d4d5c68e72a81744de7e89e6fd076b16f00314 (diff)
downloadperl-1ee987245c095afd177d3e2ca6255cec8dbb53ca.tar.gz
fix scope cleanup when next jumps to a continue block; this is rather
in the nature of a kludge; it doesn't fix the longstanding bug that makes C<while (!$x++) { local $x = 7 } continue { print $x }> print "7" instead of "1") p4raw-id: //depot/perl@4848
Diffstat (limited to 't/cmd')
-rwxr-xr-xt/cmd/while.t15
1 files changed, 14 insertions, 1 deletions
diff --git a/t/cmd/while.t b/t/cmd/while.t
index 392c13779f..515a7b6f9e 100755
--- a/t/cmd/while.t
+++ b/t/cmd/while.t
@@ -2,7 +2,7 @@
# $RCSfile: while.t,v $$Revision: 4.1 $$Date: 92/08/07 18:27:15 $
-print "1..15\n";
+print "1..17\n";
open (tmp,'>Cmd_while.tmp') || die "Can't create Cmd_while.tmp.";
print tmp "tvi925\n";
@@ -128,3 +128,16 @@ while (1) {
$i++;
print "not " unless $` . $& . $' eq "abc";
print "ok $i\n";
+
+# check that scope cleanup happens right when there's a continue block
+{
+ my $var = 16;
+ while (my $i = ++$var) {
+ next if $i == 17;
+ last if $i > 17;
+ my $i = 0;
+ }
+ continue {
+ print "ok ", $var-1, "\nok $i\n";
+ }
+}