Comment puis-je sortir d'une boucle externe à partir d'un intérieur en Perl?

Supposons que j'ai un morceau de code Perl comme:

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
}

Si something() est vrai, je voudrais à "casser" ("dernier") toutes les boucles.

comment puis-je le faire?
J'ai pensé à deux solutions, les deux dont je n'aime pas:
À l'aide de quelque chose de GOTO
L'ajout d'une variable booléenne qui marquera something() est vrai, cochez cette var dans chacune des boucles avant de reprendre et last() si c'est vrai.

Des suggestions ou des idées?

Grâce.

  • En Perl, le commentaire jeton est orthographié #, pas //.
InformationsquelleAutor David B | 2010-09-14