"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.

Reply via email to