for ( keys %category_hash ) { my $first_lvl = $category_hash{$_}; print "$_\n"; for ( keys %{ $first_lvl } ) { my $second_lvl = $first_lvl->{$_}; print ' ' x 3 . "$_"\n"; for ( keys %{ $second_lvl } ) { print ' ' x 6 . "$_ : $second_lvl->{$_}\n"; } } # END for keys $first_lvl } # END for keys %category_hash