You want to reverse an array.
Use the
reverse
function:
# reverse @ARRAY into @REVERSED @REVERSED = reverse @ARRAY;
Or use a
for
loop:
for ($i = $#ARRAY; $i >= 0; $i--) { # do something with $ARRAY[$i] }
The
reverse
function actually reverses a list; the
for
loop simply processes the list in reverse order. If you don't need a reversed copy of the list,
for
saves memory and time.
If you're using
reverse
to reverse a list that you just sorted, you should have sorted it in the correct order to begin with. For example:
# two-step: sort then reverse @ascending = sort { $a cmp $b } @users; @descending = reverse @ascending; # one-step: sort with reverse comparison @descending = sort { $b cmp $a } @users;
The
reverse
function in
perlfunc
(1) and
Chapter 3
of
Programming Perl
; we use
reverse
in
Recipe 1.6
Copyright © 2001 O'Reilly & Associates. All rights reserved.