in reply to Populating and accessing complicate Hashes

The sample data would help. I recommend that you use a __DATA__ section and replace <CDF> with <DATA> for the purposes of this post.

Note that you really should use strict; use warnings; in all code you write!

Where does %basic_references come from? Where is %main_hash declared?

Update: more grumbling

DWIM is Perl's answer to Gödel