in reply to match a word and delete last line
use strict; use warnings; use File::ReadBackwards; my $INFILE = File::ReadBackwards->new( 'infile.txt' ) or die "Cannot open infile.txt\n$!"; open my $TMPFILE, '>', 'backward.txt'; while (defined( $_ = $INFILE->readline)) { print {$TMPFILE} $_; next if !/sample-text/; $INFILE->readline; } $INFILE->close; close $TMPFILE; my $BCKFILE = File::ReadBackwards->new( 'backward.txt' ); while (defined( my $line = $BCKFILE->readline)) { print $line; } $BCKFILE->close; unlink 'backward.txt';
|
|---|