Почему это делает цикл внутри при выходе до условия while? - PullRequest
0 голосов
/ 25 марта 2011

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

my $datafile = "data.txt";
open my $fh, "<", $datafile or die "Failed to open $datafile ($!)";

my $csv = Text::CSV->new() or die "Failed to create Text::CSV object";
my $line = <$fh>;

while ($line = <$fh>)
{ 
    blah blah
    blah blah

    if ($foo > $cow) {
        blah
    } elsif ($foo == $cow) { 
        blah
    } else {
        for ($i =1; $i <= $something; $i++) {
            blah blah
        }
    }
}

Проблема в том, что код не закончил прохождение каждой строки файла data.txt. Код завершается после завершения цикла for.

Любое понимание будет с благодарностью. Спасибо.

1 Ответ

0 голосов
/ 25 марта 2011

Я предлагаю вам использовать отладчик, чтобы увидеть, что происходит. perldoc perldebug

...