in reply to Sorting issues

Here's one way of doing it:
my $i = 0; map {($z [$i], $x [$i], $y [$i ++]) = map {$_ + 0} split /;/} sort map {sprintf "%010d;%010d;%010d" => $z [$_], $x [$_], $y [$_]} 0 .. (@ +x - 1);

Abigail