for $k (($j+1)..$#{$blocks[$i]}) { if ($blocks[$i][$k][4] == 88888) { my @a; for $l (($j + 1)..($k - 1)) { $a[$l][1] = $blocks[$i][$l][1]; $a[$l][2] = $blocks[$i][$l][2]; } push @aa, \@a; for my $pp (($j + 1)..($k - 1)) { print "[$pp][1] => $aa[$pp][1]\n"; print "[$pp][2] => $aa[$pp][2]\n"; } my @d; for $m (($j + 1)..($k - 1)) { my $e3 = $aa[$m][1]; print " $e3\n"; $d[$m][1] = sqrt((($aa[$m][1] - $blocks[$i][$m][1])*($aa[$m][1] - $blocks[$i][$m][1])) + (($aa[$m][1] - $blocks[$i][$m][1])*($aa[$m][1] - $blocks[$i][$m][1]))); $d[$m][2] = $m; } push @dd, \@d; my @sortedist = sort { $a -> [1] <=> $b -> [1] } @dd; for $n (($j + 1)..($k - 1)) { $temp = $blocks[$i][$n]; $blocks[$i][$n] = $blocks[$i][($sortedist[$n][2])]; $blocks[$i][($sortedist[$n][2])] = $blocks[$i][$n];