in reply to Re^4: Make $^V and "my" implicit
in thread Make $^V and "my" implicit

Pre-declaration can be achieved by assigning an empty string or an empty list.

Now you've overloaded the assignment operator to perform both declaration and assignment, depending on its second operand. How far are you going to take this? Does this apply only to constant operands? What if you assign an empty string returned from a function? What if you want to clear a variable in an inner scope? How do you disambiguate between assignment and declaration then?