|Perl: the Markov chain saw|
Ah, @* looking like a global variable, I can see that objection. The prior proposals I saw used ->@ not ->@*. I didn't mind the addition of the '*' when I saw it (just recently) because it seemed borrowed from Perl 6. But I'd be happy to have the '*' dropped so long as that doesn't introduce parsing difficulties.
Note that $obj->$* even already had a meaning before this change. However, that meaning was quite useless (since $* is no longer supported).
Surely there are cases when the introduction of a temporary variable can aid clarity, but I don't think that is universally true and I don't think it should be required (in order to work around the incomplete nature of postfix dereferencing prior to this patch).
If the routine and each of the variables above have reasonable names, then I think assigning a name to the temporary reference would add absolutely zero clarity.
Similarly, I think it will quite often be the case that in a construct like:
having to make up a name for the second-to-last result in the chain would have dubious value in improving clarity (more like negative value).
In reply to Re^3: use feature 'postderef'; # Postfix Dereference Syntax is coming in 5.20 (*)