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, worldprint scalar reverse "dlrow ,", "olleH"; # Hello, worldUsed without arguments in scalar context,reverse reverses$_.
$_ = "dlrow ,olleH";print reverse; # No output, list contextprint scalar reverse; # Hello, worldNote 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 withEXISTS andDELETE 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 hashPerldoc Browser is maintained by Dan Book (DBOOK). Please contact him via theGitHub issue tracker oremail regarding any issues with the site itself, search, or rendering of documentation.
The Perl documentation is maintained by the Perl 5 Porters in the development of Perl. Please contact them via thePerl issue tracker, themailing list, orIRC to report any issues with the contents or format of the documentation.