in reply to Why nothing from 'strict' or 'warnings' with deref'd undef value?

This is because of autovivification, which is described in Using References. When you dereference your array element as if it were a reference to a hash, an anonymous hash is created and the array element is set to a reference to that hash. If your array element were not undefined, this would not happen - it would be a hash reference or not and so it would work or you would get an error.

  • Comment on Re: Why nothing from 'strict' or 'warnings' with deref'd undef value?