sort
2013-08-23 17:09
my @array = qw/45 33 75 21 38 69 46/;
@array = sort { $a <=> $b } @array;
這樣Perl就會幫我們把陣列重新排列成為
21 33 38 45 46 69 75
其實,如果你這樣寫也是有相同的效果:
@array = sort @array;
當然,如果你需要比較複雜的排序方式,就要把包含排序的區塊加入,所以你也可以寫成:
@array = sort { $b <=> $a } @array;
my @array = qw/-4 45 -33 8 75 21 -15 38 -69 46/;
@array = sort { ($a**2) <=> ($b**2) } @array; # 這次我們以平方進行排序
所以得到的結果會是:
-4 8 -15 21 -33 38 45 46 -69 75