#open file to write filtered lines to open (OUT2, ">$pos_two") or die "cannot open $pos_two "; #open file to filter open (IN2, "<$posfile") or die "cannot open $posfile "; while () { chomp(my $line = $_); if ($line =~ m/(comp\d+_c\d+_seq\d+),.+/) { my $comp = $1; if (grep (/$comp/, @isos20)) { print OUT2 "$line\n"; } } } close IN2; close OUT2;