##
foreach my $id (@ids) {
foreach my $fasta (@files) {
open my $fh, '<', $fasta or die "can not open file $fasta: $!";
while (<$fh>) {
print if /$id/;
}
close $fh;
}
}
####
my $pattern = join '|', @ids;
print grep {/$pattern/} <>;