in reply to Undef becomes hash reference somehow

Hi,

Its called autovivification

If you treat empty scalar as a hash reference, it becomes a hash reference

$ perl -e" $_->{yo}=1; $_->[2]=2; " Not an ARRAY reference at -e line 1.

perldata, perlref, Modern Perl page 60 , Data::Diver for convenience over autovivification