my $seq_name; my %seqs_hash; my %temp_hash; while (my $line = ) { chomp $line; if ($line =~ m/\>\s*(.+)$/) { $seq_name = $1; } else { $line =~ s/\s//g; push(@{$temp_hash{$seq_name}}, $line); } } foreach my $key (keys %temp_hash) { $seqs_hash{$key} = join("", @{$temp_hash{$key}}); }