Предположим, у меня есть фрагмент кода на 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, проверьте эту переменную в каждом из циклов, прежде чем они возобновятся, и last()
, если это правда.
Есть предложения или мысли?
Спасибо.