私は次のことをしようとしています。特定のリストで「順序付け」として使用する定義済みのリストがあります。
my @orderby = ( 'car', 'boat', 'chicken', 'cat', 'dog', 'mouse');
or
my %orderby = ( 'car' => 0, 'boat' => 1, 'chicken' => 2, 'cat' => 3, 'dog' => 4, 'mouse' => 5);
my @list = ('boat', 'car', 'mouse', 'chicken');
私はそれを並べ替えるために無限の方法を試しましたが、私が望むものは得られませんでした. Google と here で検索しましたが、答えが見つかりませんでした。
@list
そのようにソートする必要があります:
sort @list using %orderby
並べ替え後に必要な印刷:
car, boat, chicken, mouse
ところで、@list には重複したエントリを含めることができます。
my @list = ('boat', 'car', 'mouse', 'chicken', 'mouse', 'car');
その場合、印刷は次のようにする必要があります。
car, car, boat, chicken, mouse, mouse
あなたはそれに対する解決策を持っていますか?または別のアプローチかもしれません。ありがとう!!