| Search perlmeme.org | |
| Home » Faqs » File io » File backwards |
You want to read a file, for example a log file, starting at the last line and progressing towards the first line. It may be a large file so you do not want to read it all in to memory first.
Use the File::ReadBackwards module. This module is very simple to use and does exactly what you expect.
If you had a file called backwards.txt, that contained the following data:
aa
bb
cc
dd
ee
And you ran the following script:
#!/usr/bin/perl
use strict;
use warnings;
use File::ReadBackwards;
my $bw = File::ReadBackwards->new("backwards.txt") or die $!;
my $line;
while (defined($line = $bw->readline)) {
print $line;
}
$bw->close();
The output you would see would be:
ee
dd
cc
bb
aa
perldoc File::ReadBackwards