use strict;
use Bio::SeqIO;
use Bio::Seq;
my %seqs;
my @files = qw(file1 file2);
for my $file ( @files ) {
my $in = Bio::SeqIO->new(-format => 'fasta', -file => $file);
while( my $seq = $in->next_seq ) {
$seqs{$seq->display_id} .= $seq->seq; # append the seqdata
}
}
my $out = Bio::SeqIO->new(-format => 'fasta', -file => '>newfile.fa');
while( my ($seqname,$seqstr) = each %seqs ) {
my $seq = Bio::Seq->new(-id => $seqname, -seq => $seqstr);
$out->write_seq($seq);
}
Of course if you wanted to have sequence data in another file format you just have to change the 'fasta' to something else like 'genbank', 'swiss', 'embl', etc...