# this is LEXICAL sorting
#2345678901234567890123456789012345678901234567890123
sub JAPHY {
sort{(*-,*+)=map[/^\s*(0|-?[1-9]\d{0,8})(.*)$/],$a,$b
;@-?@+?$-[0]-$+[0]||$-[1]cmp$+[1]:-1:@+?1:$a cmp$b}@_
}
####
#234567890123456789012345678901234567890123456789
sub JAPHY {
(*-,*+)=map[/^\s*(0|-?[1-9]\d{0,8})(.*)$/],$a,$b;
@-?@+?$-[0]-$+[0]||$-[1]cmp$+[1]:-1:@+?1:$a cmp$b
}
##
##
#2345678901234567890123456789012345678901234567890123456
sub JAPHY {
my($A,$B)=map[/^\s*(0|-?[1-9]\d{0,8})(.*)$/],$a,$b;
@$A?@$B?$$A[0]-$$B[0]||$$A[1]cmp$$B[1]:-1:@$B?1:$a cmp$b
}