Não totalmente certo, mas isso pode ajudar
#!/usr/bin/perl
use strict;
use warnings;
my $fname = "deep.txt";
open(my $fh, "<:encoding(ASCII)", $fname) || die "cannot open $fname for reading";
my $num = 0;
while(<$fh>)
{
$num = substr $_, 0, 3 if eof;
}
close($fh) || warn "cannot close $fname";
print "Oops, last line doesn't start with 999!\n" if $num != 999;
A verificação eof
ajuda a saber se é a última linha de arquivo a ser lida
O loop while também pode ser reduzido para uma linha:
eof and $num = substr $_, 0, 3 while(<$fh>);
Leitura adicional: