Flip a string or a list
In list context, returns a list value consisting of the elements of LIST in the opposite
order. In scalar context, concatenates the elements of LIST, and returns a string value consisting
of those bytes, but in the opposite order.
print reverse <>; # line tac, last line first
undef $/; # for efficiency of <>
print scalar reverse <>; # byte tac, last line tsrif
This operator is also handy for inverting a hash, although there are some caveats. If a value is duplicated
in the original hash, only one of those can be represented as a key in the inverted hash. Also, this has to unwind
one hash and build a whole new one, which may take some time on a large hash.
%by_name = reverse %by_address; # Invert the hash