note
simonm
There are also several pre-written implementations of this on CPAN. My Data::DRef module has functions to get and set values based on multiple-key lists like you're working with:
<code>
use Data::DRef qw( set_value_for_keys );
set_value_for_keys( \%big_hoh, $data, @key_list );
</code>
474118
474135