in reply to How do i sort a hash or array?
or%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 => ['name1', 'name2', 'name3'], lastname => ['lname1', 'lname2', 'lname3'], city => ['city1','city2','city3'] };
%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}[$_]); }
|
|---|