open( MOL, "molecules" ); @molecules = ; close MOL; map { chomp; $_ = quotemeta; } @molecules; $bigRegex = join '|', @molecules; open( LOCUS, "locus" ); @locus = ; close LOCUS; foreach (@locus) { print if ( scalar( split /\t/ ) == 6 && /^([^\t]+\t)?($bigRegex)/ ); }