>sequence1_name ATGACTGTTGG...etc. generally some fixed number of letters per line #### my $seq_name; my %seqs_hash; while (my $line = ) { chomp $line; if ($line =~ m/\>\s*(.+)$/) { $seq_name = $1; } else { $line =~ s/\s//g; $seqs_hash{$seq_name} .= $line; } } #### 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}}); }