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 }
In reply to Re: For Loops and Reversing output
by liverpole
in thread For Loops and Reversing output
by brusimm
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |