http://www.perlmonks.org?node_id=407732


in reply to Hash with one key, three values

You want a hash of arrays. Basically, you'll end up with a hash that looks like this:
$hash = { 'key' => ['one', 'two', 'three'] }
If you already have the hash that you show above, here's how to make a hash of arrays from your old hash:
while ( my ($key,$string) = each %oldhash ) { my @elements = split /\s+/, $string; $newhash{$key} = \@elements; } # You can now access data from it like this: # print the first element in the array referred to by $key print $newhash{$key}->[0], "\n"; # print out all of the elements for a given key print "$key: ", join @{$newhash{$key}}, '-', "\n";
Also, try out Ovid's Data::Dumper::Simple. It's a clever module which prints out data dumps in a more descriptive way. Cheers. :)