log info line yada yada 1 log info line yada yada 2 log info line yada yada 3 log info line (pattern) 4 log info line yada yada 5 ... #### log info line yada yada 1 log info line yada yada 2 log info line yada yada 3 (pattern) (Put line number here, or some type of result mark) ... #### open(INFILE, "< file.log") or die "Cant open file : $!"; open(OUT, "> results.txt") or die "Cant open new file : $!"; $pattern = "Error code 2"; while () { $a[$i++%3] = $_; print OUT $a[$i%3] if /$pattern/; } close INFILE; close OUT;