Разбить каждую функцию (), перебирая хеш в Perl

Я использую цикл while для перехода по хешу. В этом цикле while я хочу завершить цикл изнутри. Приведенный ниже код работает с точки зрения остановки цикла, но когда код выполняется снова в следующий раз (он находится внутри большего цикла), цикл продолжается там, где он был прерван. Я думаю, мне нужно как-то сбросить каждую функцию, но я не уверен, как это сделать.

my $break = 0;
while (!$break() and (($key,$value) = each %ENV)) {
    print "$key=$value\n";
    if ($key eq "stop") {
       $break = 1;
    }
}

0 ответов

Другие вопросы по тегам