Loops 在Perl中,如何将外部循环与内部循环断开?
假设我有一段Perl代码,如:Loops 在Perl中,如何将外部循环与内部循环断开?,loops,perl,break,control-flow,Loops,Perl,Break,Control Flow,假设我有一段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() 我该怎么做? 我想到了两个选择,这两个我都不喜欢: 使用某物GOTO 添加一个布尔变量,该变量将标
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()
我该怎么做?
我想到了两个选择,这两个我都不喜欢:
使用某物GOTO
添加一个布尔变量,该变量将标记something()
为true,请在每个循环中检查此变量,然后再继续,如果为true,请检查last()
有什么建议或想法吗
谢谢。使用标签:
OUTER:
foreach my $x (@x) {
foreach my $y (@z) {
foreach my $z (@z) {
if (something()) {
last OUTER;
}
# do stuff
}
# do stuff
}
# do stuff
}
描述了“最后一个标签”语法。在Perl中,注释标记拼写为
,而不是/
。