Я пытаюсь использовать break
оператор в for
цикле, но так как я также использую строгие подпрограммы в своем коде Perl, я получаю сообщение об ошибке:
Базовое слово "break" не допускается, когда используются "строгие подпрограммы" в строке ./final.pl 154.
Есть ли обходной путь для этого (кроме отключения строгих сабов)?
Мой код отформатирован следующим образом:
for my $entry (@array){
if ($string eq "text"){
break;
}
}
Ответы:
О, я нашел это. Вы используете последний вместо перерыва
источник
while
циклов ().my @array = ("_", "apple", "orange"); my $thing; while ($thing = shift @array){ last if $thing =~ /[A-Za-z]/; } print($thing); # "apple"
Дополнительные данные (если у вас есть дополнительные вопросы):
источник
Просто
last
будет работать здесь:Если у вас есть вложенные циклы, то
last
выйдите из самого внутреннего цикла. Используйте метки в этом случае:Данное
last
утверждение заставит компилятор выйти из обоих циклов. То же самое можно сделать в любом количестве циклов, а метки можно фиксировать где угодно.источник
На большой итерации мне нравится использовать прерывания. Просто нажмите Ctrl+, Cчтобы выйти:
источник