Perl6 的複合指定運算子(compound assignment operators) 比 Perl5 多了一個 「.=」,用法如下:
my @array=<11 8 3>; @array .= sort; # 把陣列排序之後,再存回去陣列中 say @array; #=> 結果: # 11 3 8
咦,11 不是比 3 大嗎?怎會排第一個?是這樣的,這裡的排序,預設是用字元的順序,若要改成數字排序,可改寫如下:
my @array=<11 8 3>; @array .= sort: { $^a <=> $^b }; # 把陣列排序之後,再存回去陣列中 say @array; #=> 結果: # 3 8 11
也就是說,用 { $^a <=> $^b } 即可指揮 sort 用數字來排序大小。