use strict; my @data = ; foreach(@data){ chomp; if(/START1/../END1/){ print "1: $_\n"; } if(/START2/../END2/){ print "2:$_\n"; } } print "\n\n"; foreach (@data){ foreach my $i(1..2){ if(/START$i/../END$i/){ print "$i:$_\n"; } } } __DATA__ START1 A B C END1 START2 X Y Z END2