在perl中嵌套while循环中中断最内层循环:找不到Label
发布时间:2020-12-15 23:34:56 所属栏目:大数据 来源:网络整理
导读:我遇到了双重嵌套while循环中最内层封闭循环的问题. 考虑: use v5.14;my $i=0;while ($i=1) { my $j=0; do { last if $j==2; say $j++; } while ($j4); $i++;} 输出在这里: 01 而预期的产出应该是: 0101 在最里面的封闭循环中添加标签: my $i=0;while ($
我遇到了双重嵌套while循环中最内层封闭循环的问题.
考虑: use v5.14; my $i=0; while ($i<=1) { my $j=0; do { last if $j==2; say $j++; } while ($j<4); $i++; } 输出在这里: 0 1 而预期的产出应该是: 0 1 0 1 在最里面的封闭循环中添加标签: my $i=0; while ($i<=1) { my $j=0; LINE: do { last LINE if $j==2; say $j++; } while ($j<4); $i++; } 给出错误: Label not found for "last LINE" at ./p.pl line 9. 解决方法
你不能使用最后的内部do {}块,但你可以
my $i=0; while ($i<=1) { my $j=0; LINE: { do { last LINE if $j==2; say $j++; } while ($j<4); } $i++; } 要么 my $i=0; OUTER: while ($i<=1) { my $j=0; LINE: do { next OUTER if $j==2; say $j++; } while ($j<4); } continue { $i++; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |