=over =item reverse LIST X X X 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 with all characters in the opposite order. print join(", ", reverse "world", "Hello"); # Hello, world print scalar reverse "dlrow ,", "olleH"; # Hello, world Used without arguments in scalar context, reverse() reverses C<$_>. $_ = "dlrow ,olleH"; print reverse; # No output, list context print scalar reverse; # Hello, world Note that reversing an array to itself (as in C<@a = reverse @a>) will preserve non-existent elements whenever possible; i.e., for non-magical arrays or for tied arrays with C and C methods. 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, such as from a DBM file. %by_name = reverse %by_address; # Invert the hash =back