use File::ReadBackwards; tie *BW, File::ReadBackwards, 'log_file' or die "can't read 'log_file' $!"; print while ;