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