in reply to Using multi-level hashes

For a tiny bit of help, you can omit the arrows between braces.

I'm not clear on what problem you're having in using a ref for initialization. Could you amend your post to include a few lines of your initialization code? It's certainly possible to do something like

my $this_level = $project{$activeProject}{components}{"Software"}{subC +omponents}{"Database"}; $this_level->{label} = 'Test-1.01'; $this_level->{some_other_tag} = 'You passed';

Caution: Contents may have been coded under pressure.