my $skip = 0; LOOP: while ($line = ) { @fld = split /\|/,$line; if ($fld[5] =~ / \*\//) { $skip = 0; # you found an end-comment, turn skipping off for the next line next LOOP; } if ($fld[5] =~ /\/\*/) { $skip = 1; # you found a start-comment, turn skipping on next LOOP; } unless ($skip) { print "$fld[0] $fld[2] sequence=$fld[4] $fld[5]" if $line =~ /$regexp/; } }