"TSa (Thomas Sandlaß)" wrote:
Here your expectations might be disappointed, sorry.
The non-symbolic form $*Main::foo = 'bar' creates code that
makes sure that the lhs results in a proper scalar container.
The symbolic form might not be so nice and return undef!
Then undef = 'bar' of course let's your program die.
When something knows that it is being evaluated in lvalue context, it
should probably return something like "undef but autovifify:{...}". The
assignment operator could then check for the "autovivify" property when
its LHS is undefined.