У меня есть следующий простой фрагмент кода (обозначенный как часть проблемы кода и извлеченный из гораздо более крупной программы).Чтение строки строки за строкой итерации
Является ли это я или вы видите явную ошибку в этом коде, чтобы остановить ее от соответствия $variable
и печати $found
, когда это определенно должно быть сделано?
Ничего не печатается, когда я пытаюсь напечатать $variable
, и в файле, который я использую, есть определенные строки.
Код:
if (defined $var) {
open (MESSAGES, "<$messages") or die $!;
my $theText = $mech->content(format => 'text');
print "$theText\n";
foreach my $variable (<MESSAGES>) {
chomp ($variable);
print "$variable\n";
if ($theText =~ m/$variable/) {
print "FOUND\n";
}
}
}
Я находится это как точка, в которой ошибка происходящей, но не может понять, почему? Может быть, что-то, что я полностью игнорирую, поскольку его очень поздно?
Печатается ли '$ TheText'? – Borodin
Да, содержимое веб-страницы печатается, и я знаю, что строка в текстовом файле находится в содержимом, поскольку я жестко закодировал строку в совпадении с шаблоном и нашел ее в содержимом –
. Вы должны попробовать прочитать файл в массив, например 'my @messages =', и вы можете« распечатать скалярные @ сообщения », чтобы узнать, сколько строк было прочитано. Я думаю, что, скорее всего, вы собираете неправильный файл, потому что '$ messages' не содержит того, что вы думаете, или потому, что он ищет неправильный каталог. –
Borodin