in reply to How do I populate a ML hash from an array?

Adapted from (tye)Re: varying length multi-dimensional hashes:

sub setHoH { my( $hashref, $val, @keys )= @_; my $ref= \$hashref; for( @keys ) { $ref= \$$ref->{$_}; } $$ref= $val; } @array= qw/one two three/; setHoh( \%hash, 1, @array );