use Tie::File; tie my @lines, 'Tie::File', $filename; for my $i ( reverse 0 .. $#@lines ) { do_something_with( $lines[$i] ); }