in reply to weird problem or perl-bug?

In Perl, in case of handling a multi-tier collection (hash or array), to read (including test) an element, will automatically bring its ancestors (in the tree-like structure) into existance.

I don't like this "feature" at all, as it largely reduces your application's maintainability. But we have to live with it (at least for now).