sub dump_data_for_path { my $path = shift; my $data = shift; if (not defined $data) { # plain file print "$path\n"; return; } my %directory = %$data; for (sort keys %directory) { dump_data_for_path("$path/$_", $directory{$_}); } }