C:\tmp\files>perl -nE"if ($x=(/PATTERN1/../PATTERN3/)) { @out=() if /PATTERN1/; push @out,$_; print @out if $x=~/E0$/ }" input2 PATTERN1 SOME INFO TEXT4 TEXT5 TEXT6 PATTERN3 SOME INFO PATTERN1 SOME INFO TEXT4 TEXT5 TEXT6 PATTERN3 SOME INFO C:\tmp\files>