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