my @array; @array[0] = [4, 2, 6]; @array[2] = [2, 1, 7]; @array[1] = [6, 9, 3]; @array[3] = [1, 1, 1]; use Data::Dumper; foreach (sort { $a->[2] <=> $b->[2] } @array) { print Dumper($_); }