Perl默认按UTF-8排序规则进行排序。
如果不想用默认的UTF-8排序,那你就需要按自己编写用于编写用于比较的子程序。
1. 比较(sort)子程序
#用字符cmp操作比较 my @list = sort {$a cmp $b} (16,1,8,2,4,32); #按数字大小比较 my @list = sort {$a <=> $b} (16,1,8,2,4,32); #对换a,b的位置得到倒序结果 #可以根据$a和$b的值计算后再做比较 my @list = sort { -M $a <=> -M $b } @list ; # 根据散列值的大小进行排序 sort { $elems{$a} <=> $elems{$b} } keys %elems; # 多键进行排序 sort { ... or ... }