Sorting of Multidimensional arrays

A have an array of arrays which I want to sort according to the 3rd element of each of the child arrays, how can I do that?
In the code snippet below I would like the output to be:
5,3
3,5
9,9
@array1 = (20,10,5,3,-4);
@array2 = (5,4,3,2,1);
@array3 = (10,9,8,7,6);
 
@array = ($array1,$array2,$array3);
 
@sorted = sort by_3rd @array;
 
foreach $i (0..$#array)
{
	print $array[$i][2],",",$sorted[$i],"\n";
}
 
sub by_3rd
{
???????????
}
 
Desired output:

Open in new window

shayb022800Asked:
Who is Participating?
 
ozoCommented:
@array1 = (20,10,5,3,-4);
@array2 = (5,4,3,2,1);
@array3 = (10,9,8,7,6);

@array = (\@array1,\@array2,\@array3);
@sorted = sort{$a->[2] <=> $b->[2]} @array;
foreach $i (0..$#array)
{
    print $array[$i]->[2],",",$sorted[$i]->[2],"\n";
}
0
 
shayb022800Author Commented:
OZO you are indeed a genius, thanks!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.