sub walk { my( $v, @path ) = @_; if ( keys %$v ) { for my $k ( sort keys %$v ) { walk( $v->{$k}, @path, $k ); } } else { foo( @path ); } }