Perl 陣列排序

Perl 要對陣列進行排序, 可以用內建函式 sort 來做, 例如:

以上第 7 行用了 sort 對 @words 進行排序, 輸出結果會是:

abc
def
mmm
xyz

但這個 sort 函式是用字串排序的,如果陣列的值是數值,sort 也會根據字串的方式排序,即 123 會排在 23 前面,因為 “1” 是排在 “2” 前面,這樣是做不到排序數值的。這時對數值進行排序可以透過 實現, 是 Perl 的比較運算子,會比較左右兩個數值,

以上程式碼用會正確對陣列 @words 以數值方式排序,輸出結果為:

3
5
8
23
123



Leave a Reply