in reply to For Loops and Reversing output
There are a lot of ways to use an array backwards.
One is to simply reverse the order of the sort. For example, instead of
my @sorted = sort @unsorted;
which is doing an implicit sort { $a cmp $b } @unsorted, you could do:
my @sorted = sort { $b cmp $a } @unsorted;
to have the order reversed at the end of the sort.
Another way is to read an item one-at-a-time from the end of the list, such as in:
my $nextitem; while ($nextitem = pop @rocks) { # Use $nextitem }
(Sorry, I couldn't resist using pop @rocks :-))
As a 3rd and final example, read one at a time from the end of the array using an index, using the -N notation (which reads from the -Nth value of the array each time):
for (my $i=1; $i <= @rocks; $i++) { my $nextitem = $rocks[- $i]; # Take the ${i}th item from the en +d }
|
|---|