sub my_sort { my $i; for ($i = 0; defined $a->[$i] && defined $b->[$i]; ++$i) { if ( my $result = $a->[$i] <=> $b->[$i] ) { return $result; } } return defined $a->[$i] ? 1 : -1; }