Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

Re: For Loops and Reversing output

by liverpole (Monsignor)
on Dec 12, 2006 at 00:42 UTC ( #589201=note: print w/ replies, xml ) Need Help??

in reply to For Loops and Reversing output

Hi brusimm,

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 }


Comment on Re: For Loops and Reversing output
Select or Download Code

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://589201]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (3)
As of 2015-11-28 01:41 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (737 votes), past polls