use Tie::File; my @ray=(); tie @ray,"Tie::File","myfile" or die $!; for(my $i=$#ray;$i>=0; $i--){ my $line=$ray[$i]; # do something with it... } untie @ray;