Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

Re: How do i sort a hash or array?

by gam3 (Curate)
on Jan 21, 2008 at 13:51 UTC ( #663375=note: print w/replies, xml ) Need Help??

in reply to How do i sort a hash or array?

Your code should read:
%person = ( firstname => ['name1', 'name2', 'name3'], lastname => ['lname1', 'lname2', 'lname3'], city => ['city1','city2','city3'] );
$person = { firstname => ['name1', 'name2', 'name3'], lastname => ['lname1', 'lname2', 'lname3'], city => ['city1','city2','city3'] };
If you really need your data to look like this you can sort it like this.
%person = ( firstname => ['name2', 'name1', 'name3'], lastname => ['lname2', 'lname1', 'lname3'], city => ['city2','city1','city3'] ); for (map {$_->[1] } sort {$a->[0] cmp $b->[0] } map { [$person{firstname}[$_], $_] } (0 .. scalar @{$person{firstname}} - 1)) { printf("%s %s %s\n", $person{firstname}[$_], $person{lastname}[$_], $person{city}[$_]); }
-- gam3
A picture is worth a thousand words, but takes 200K.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://663375]
[Lotus1]: Cosmic37 if you undef $/ in a local context to a block it won't affect the global version after the block finishes
[Lotus1]: or you can just do local $/ in a block
[erix]: cool
[Cosmic37]: thank you Lotus I understand
[Cosmic37]: now I have tried another blunder - can anyone explain why I am such a dunderhead?
[Cosmic37]: if ( $line =~ /$mydt/ ) { print $line; }

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (7)
As of 2017-06-29 16:54 GMT
Find Nodes?
    Voting Booth?
    How many monitors do you use while coding?

    Results (673 votes). Check out past polls.