Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: Reordering Arrays?

by johngg (Canon)
on Jul 28, 2006 at 14:52 UTC ( [id://564367]=note: print w/replies, xml ) Need Help??


in reply to Reordering Arrays?

Note that there is a difference in meaning between davorg's reply and BrowserUk's which depends on whether you slice the new or the original array. The following illustrates this

use strict; use warnings; my @list = qw(zero one two three four); print qq{@list\n}; my @newOrder = (1, 3, 4, 0, 2); my @newList; @newList[@newOrder] = @list; print qq{@newList\n}; @newList = @list[@newOrder]; print qq{@newList\n};

This produces

zero one two three four three zero four one two one three four zero two

It is difficult to tell one zero or one from another, hence the change in list values :)

Cheers,

JohnGG

Update: Here is a clearer explanation of what is happening

This code @newList[@newOrder] = @list; Means:- $newList[1] receives $list[0] which is 'zero' $newList[3] receives $list[1] which is 'one' $newList[4] receives $list[2] which is 'two' $newList[0] receives $list[3] which is 'three' $newList[2] receives $list[4] which is 'four' whereas this code @newList = @list[@newOrder]; Means:- $newList[0] receives $list[1] which is 'one' $newList[1] receives $list[3] which is 'three' $newList[2] receives $list[4] which is 'four' $newList[3] receives $list[0] which is 'zero' $newList[4] receives $list[2] which is 'two'

Replies are listed 'Best First'.
Re^2: Reordering Arrays?
by willyyam (Priest) on Jul 28, 2006 at 15:05 UTC

    An important distinction, and a hard one for me to spot given my data. Thanks for this.

      You're welcome, glad to be of use. It could have been worse, the data could have been all 1s :)

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others chanting in the Monastery: (3)
As of 2024-04-19 19:14 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found