Мысль о другом решении.В достаточно свежих Perls вы можете открыть дескриптор файла для строки, а затем просто использовать специальную переменную $.
, чтобы автоматически отслеживать номер строки:
open my $handle, '<', \$str;
my $linenum;
while (<$handle>) {
$linenum = $., last if /escape/;
}
close $handle;
if (defined $linenum) {
print "Found match on line $linenum\n";
} else {
print "No match found\n";
}