local $_; while () { print if /WNT|UNX/; if ($flag) { print if $target_db eq 'sql' && /informix|oracle/i || $target_db ne 'sql' && /$target_db/i; print $FH $_; undef $flag if /$target_os/; } elsif (/UNX|WNT|COMPONENT/) { $flag = 1; print $FH $_; } }