use File::ReadBackwards; $bw = File::ReadBackwards->new( 'log_file' ) or die "can't read 'log_file' $!" ; until ( $bw->eof ) { last if ($bw->readline =~ m/$search_string/); } $prior_line_1 = $bw->readline; $prior_line_2 = $bw->readline;