Perl Programming Documentation
Download Perl
Explore

Manual

- Overview
- Tutorials
- FAQs
- History / Changes
- License

Reference

- Language
- Functions
- Operators
- Special Variables
- Pragmas
- Utilities
- Internals
- Platform Specific

Modules

- A • B • C • D • E
- F • G • H • I • L
- M • N • O • P • S
- T • U • X

Tools

- Preferences

# reverse

Perl 5 version 16.0 documentation
Go to top
Show recent pages
Recently read

# reverse

Perl functions A-Z | Perl functions by category | The 'perlfunc' manpage

- 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 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.

          %by_name = reverse %by_address;  # Invert the hash