use strict; use Data::Dumper; my %hash=(); my ($key, $val); while () { chomp; if (/^>(\w+)/) { if ($key) {$hash{$key} = $val}; $key = $1; $val = ""; } else { $val .= $_; } } $hash{$key} = $val; print Dumper \%hash; __DATA__ >EP11110 (-) TGCAATCACTAGCAAGCTCTC GCTGCCGTCACTAGCCTGTGG >EP40005 (+) GGGGCTAGGGTTAGTTCTGGA NNNNNNNNNNNNNNNNNNNNN