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;