如何在Perl中将外部循环与内部循环分开?

问题描述 投票:23回答:2

假设我有一段类似的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添加一个将something()标记为true的布尔变量,请在每个循环恢复之前检查此var,如果last()为true,则在每个循环中进行检查。

有什么建议或想法吗?

谢谢。

假设我有一段Perl代码,例如:foreach我的$ x(@x){foreach我的$ y(@z){foreach我的$ z(@z){if(something()){#我想挣脱! }#做东西}#做东西}#...

loops perl break control-flow
2个回答
42
投票

使用标签:


15
投票

描述“最后一个标签”语法in the documentation

© www.soinside.com 2019 - 2024. All rights reserved.