use File::ReadBackwards; use POSIX; my $success; my $items; my $earliest = strftime( "%Y-%m-%d %H:%M:%S", localtime( time()- 1 * 60 ) ); $bw = File::ReadBackwards->new( '/Documents/Traning/Perl/output.txt' ) or die "/Documents/Traning/Perl/output.txt $!" ; while ( defined( my $log_line = $bw->readline() ) ) { last if $log_line lt $earliest; if ($log_line =~ /EnableDelayedExpansion/i) { print $log_line; }else { print "error";} }