my @log_final; my $last = 0; while (my $log_line = $log_bckwards->readline) { if ($log_line =~ /$TIMESTAMP/) { $last = 1; } elsif ($last) { last; } unshift @log_final, $log_line; }