網路管理語言 Perl 入門與實作: | ||
---|---|---|
<<< Previous | 4. Perl 的資料型態 | Next >>> |
sort 預設是以 ASCII 順序來排序,但我們可以改變 sort 預設的行為,改用數值大小做為排序依據,如下所示:
#! /usr/bin/perl @test=(1, 4, 5, 22, 9, 101); @mmm=sort {$a<=>$b} @test; print join ',', @mmm, "\n\n"; # 輸出結果: 1,4,5,9,22,101, 真的按數值大小來排序了! (升冪) |
上式中,若您想要改成降冪,可在 sort 之前再加 reverse 即可:
#! /usr/bin/perl @test=(1, 4, 5, 22, 9, 101); @mmm=reverse sort {$a<=>$b} @test; print join ',', @mmm, "\n\n"; # 輸出結果: 101,22,9,5,4,1, |
上式,也可以用以下方法:
#! /usr/bin/perl @test=(1, 4, 5, 22, 9, 101); # 把 $a 和 $b 調換,即成為降冪 @mmm=sort {$b<=>$a} @test; print join ',', @mmm, "\n\n"; # 輸出結果: 101,22,9,5,4,1, |
註:{$a<=>$b} 中 $a, $b 為 sort 預設作用的暫時變數,因此,您的變數最好不要取名為 $a, $b,以免產生不可預期的結果。
<<< Previous | Home | Next >>> |
4.2.11 將一個陣列排序 | Up | 4.3 雜湊 |