foreach my $file (keys %FilesHash) { foreach my $artist (keys %{$FilesHash{$file}}) { foreach my $album (keys %{$FilesHash{$file}{$artist}}) { foreach my $title (keys %{$FilesHash{$file}{$artist}{$album}}) { print "File : $file\n"; print "Artist : $artist\n"; print "Album : $album\n"; print "Title : $title\n"; foreach my $attribute (keys %{$FilesHash{$file}{$artist}{$album}{$title}}) { printf("%-11s: %s\n", ucfirst($attribute), $FilesHash{$file}{$artist}{$album}{$title}{$attribute}); } } } } }