http://qs1969.pair.com?node_id=35468


in reply to Hashes hunt me even when I sleep....

my %songs; while (<DATA>) { my ($myArtist, $myAlbum, $mySong, $myLocation) = split /\|/; $songs{$myArtist}->{$myAlbum}->{$mySong} = $myLocation; } foreach my $myArtist (sort keys %songs) { print "$myArtist:\n"; foreach my $myAlbum (sort keys %{ $songs{$myArtist} }) { print "\t$myAlbum\n"; print "\t\tSongs:\n"; foreach my $mySong (sort keys %{ $songs{$myArtist}->{$myAlbum} + }) { print "\t\t\t$mySong: $songs{$myArtist}->{$myAlbum}->{$myS +ong}\n"; } } }