Thanks to visit codestin.com
Credit goes to perldoc.perl.org

You are viewing the version of this documentation from Perl blead. This is the main development branch of Perl. (git commit ce96f1e9d09c4b403485f0d292be07d6effd030a)
reverse 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 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 $_.

$_ = "dlrow ,olleH";
print reverse;                         # No output, list context
print scalar reverse;                  # Hello, world

Note that reversing an array to itself (as in @a = reverse @a) will preserve non-existent elements whenever possible; i.e., for non-magical arrays or for tied arrays with EXISTS and DELETE 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.

my %by_name = reverse %by_address;  # Invert the hash