use strict; # always... use Bio::SeqIO; my $bigfasta = "bigfasta.faa"; my $seqin = Bio::SeqIO->new(-file => $bigfasta, -format=>"fasta"); while ($inseq = $seqin->next_seq) { my $id = $inseq->display_id; my $outfile = "$id.fasta"; my $seqout = Bio::SeqIO->new(-file=>">$outfile", -format=>"fasta"); $seqout->write_seq($inseq); }