Вам не нужно явно open
файл.
my $regex = qr/blah/;
while (<>) {
if (/$regex/) {
print;
exit;
}
}
print "Not found\n";
Так как вы, похоже, обеспокоены производительностью, я позволю совпадению и print
используем значение по умолчанию $_
, не назначая <>
чему-либо, что немного быстрее. В нормальном производственном коде,
while (my $line = <>) {
if ($line =~ /$regex/) {
print $line;
exit;
}
}
было бы предпочтительным.
Редактировать: Предполагается, что проверяемый файл указан в командной строке, что, как я только что заметил, вы не указали, применимо в вашем случае.