Don't know that it's a step backwards, although to be equivalent, I think it'd have to be written sub ( my $x = $_[0]; $x *= 2 ) Whenceforth should we go, though? That is the question, and I agree with the OP and the POP that MathML isn't it.
My APL is really rusty, but it seems to me that that language had the right idea, an operator (and definable operators) which would perform some operation on anything that was thrown at it. Ditto Smalltalk. However, in any such system, you increase the complexity of the interpreter in order to decrease the complexity of the programming syntax. Descartes and Church depended upon the mind to supply a suitable definition for x, and McCarthy's LISP will happily crash if given anything other than a scalar numeric value. Perl, at least in PP's coded version, will do a better job of taking what's thrown at it and emit something recognizable as output. Zaxo's variant does even better at characterizing "what follows".
You're almost certainly right,. Doesn't mean that we can't spring forth, though. :) Of course, I was just musing, and _don't_ pretend that what I said was any more profound than said joke. :D