http://qs321.pair.com?node_id=503821


in reply to Using multi-level hashes

Your readItem() subroutine suggests the need for access to values without much typing. If you also desire to assign new values, why not use an alias? Like so:
*label= \$project{$activeProject} {components} {Software} {subComponents} {Database} {label} ;

You read the value using print $lable;, and assign a new value using '$label='Test-2'; .

This is a lot shorter than the OP which exhibited the full train of variables, and was coded like this:

$project{$activeProject} {components} {Software} {subComponents} {Database} {label} = 'Test-2';