in reply to "print" of nonexistent element is actually altering a hash
This is autovivification. You can use the autovivification module to disable it lexically if you so choose.