# 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:
``````
Asked:
###### Who is Participating?

Commented:
@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

Author 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.

## Already a member? Login.

All Courses

From novice to tech pro — start learning today.