sub print_tree { my ($tree, $depth) = @_; $depth ||= 0; my $indent = '...' x $depth; for (sort keys %$tree) { print($indent, /^\s*\z/ ? "" : $_, "\n"); print_tree($tree->{$_}, $depth+1); } } print_tree(\%categories);