|Don't ask to ask, just ask|
My rule is that a temporary variable is fine if it can be related to the application in some way, and not just an artifact of optimization.
One way to tell is if you can give it a truly meaningful name. If you can't, see if you can eliminate it.
There is sense & beauty in that. But it does require a high
degree of Perl knowledge.
Corollaries can be derived.
Temporary variables should be named so that it is obvious that they are temporaries.
Temporary variables should be scoped to advertise their ephemeral nature.
For those who can't readily parse dense Perl temporary variables are like the x modifier to m//.