4.16 計算可能なフィールドでリストをソートする

複雑な条件でソートする方法

# 前処理する
@precomputed = map { [compute(), $_] } @unordered;
@ordered_precomputed = sort { $a->[0] <=> $b->[0] } @precomputed;
@ordered = map { $_->[1] } @ordered_precomputed;

# 上記を1つにまとめる map-sort-map
@ordered = map { $_->[1] }
                       sort { $a->[0] <=> $b->[0] }
                       map { [compute(), $_] }
                       @unordered;