in reply to non-autovivifing hash
First of all, hash autovivification refers to assigning a key to a previously non-existant hash, not assigning a previously undefined key to an existing hash; you are indeed not using the autovivification feature. Second of all, if your problems are assigning to the wrong hash or mis-spelling a key, don't blame Perl's features which, as you say, don't even apply in this case. Why would Perl (or any programming language, really) treat assignment of a valid key to a valid hash (albeit the incorrect one) as an error? Pay more attention while you are programming! That said, this happens at some point to everyone, it's all part of the unjoy of coding/debugging.