use strict; use warnings; my $match = 'lvol[35]'; while () { next if ! (my $it = /^LV Name/ .. /^LV Name/ && ! /$match/); if ($it =~ /E0/) { print "---\n"; next; } print "$it: $_"; } __DATA__ --- Logical volumes --- LV Name /dev/vg00/lvol3 VG Name /dev/vg00 Various stuff omitted LV Name /dev/vg00/lvol4 VG Name /dev/vg00 Various stuff omitted LV Name /dev/vg00/lvol5 VG Name /dev/vg00 Various stuff omitted LV Name /dev/vg00/lvol6 VG Name /dev/vg00 Various stuff omitted #### 1: LV Name /dev/vg00/lvol3 2: VG Name /dev/vg00 3: Various stuff omitted --- 1: LV Name /dev/vg00/lvol5 2: VG Name /dev/vg00 3: Various stuff omitted ---