Tidied up a little more:
Actually, I'd probably invert the condition to make it clearer that it's accumulating multi-line sequences.
my( %pro, @names); my( $name, $seq, $k ); while (defined( my $line = <DATA> )) { unless ($line =~ /^>(.+)/) { chomp( $line ); $seq .= $line; } else { if ($seq) { $pro{$name} = $seq; $seq = ''; } ($name = $1) =~ s/\s//g; push @names, $name; $k++; } }
-- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>