in reply to Building dynamic nested hash references

my $var; my @parts = grep length, split m#/#, $input; for ($var = $VAR1; @parts && $var; $var = $var->{shift @parts}) {} use Data::Dumper; print Dumper $var;
is how I'd do it. This is one of the few situations in which I feel strangely drawn to the c-style for loop.