The specific case of eliminating incorrect code from the anonymous hashref constructor cannot be older than the anonymous hashref constructor, which was added with Perl 5.0 back in 1993-4. There was no problem before that.
But the βunary plusβ has been around longer - since Perl 4 at least (it was not in Perl 1, but it could be added at any time in a few years, as far as I know). He always did the same, causing his RHS to be evaluated as a term, and not anything else that might make sense in the context, and distinguish, for example:
print (1 + 2), 42;
from
print +(1 + 2), 42;
hobbs source share