假设我有一段Perl代码,如下所示:
foreach my $x (@x) {
foreach my $y (@z) {
foreach my $z (@z) {
if (something()) {
# I want to break free!
}
# do stuff
}
# do stuff
}
# do stuff
}
字符串
如果something()
为真,我想中断(“last”)所有循环。
我该怎么做呢?我想到了两个选项,这两个选项我都不喜欢:使用GOTO
添加一个布尔变量,它将标记something()
为真,在每个循环恢复之前检查这个var,如果它为真,则检查last()
。
有什么建议或想法吗?
谢谢.
3条答案
按热度按时间cnjp1d6j1#
使用标签:
字符串
wgmfuz8q2#
“last LABEL”语法描述为in the documentation。
wmtdaxz33#
请注意,您也可以在一行代码中执行此操作。使用关键字LINE。例如
perl -ane 'next if length$F[5]!=1; for(split/,/,$F[6]){next LINE if length$_!=1}; print'