my $orderfound = 0; while (my $line = <>) { if ($line =~ /MSG-HDR/) { $orderfound = 1; next; } if ($orderfound && $line =~ /\|UB/) { print "$line\n"; } $orderfound = 0; }