in reply to adding an element to AoH

prasadbabu is right about how to add an element to the hash. You also don't need to type the dereferencing arrows between each level.

$AoH[0]{heading}[3]{item} = 'eee';

...will work fine.