#! perl -slw use strict; use File::ReadBackwards; my $file = $ARGV[ 0 ]; tie *BW, 'File::ReadBackwards', $file; my $lastpos = -s( $file ); while( ) { last unless /SIL/; $lastpos = tell( BW ) } truncate $file, $lastpos; close BW;