use warnings; use strict; my $save; while () { if (/^\{TAG\}/ .. /^\{COUNT\}/) { unless (/^\{(TAG|COUNT)\}/) { $save = $_; print "{TAG} and {COUNT2} is 1\n" if /\sand\s/; } } } __DATA__ {TAG} 0012310002 and 0012310003 {COUNT} 000000 {COUNT2} 000000 and 100001 #### $ perl tst.pl 0012310002 and 0012310003 $