シュワルツ変換
シュワルツは Perl 5 リリース直後の1994年にこのイディオムを Perl で初めて実装した。「シュワルツ変換」の語は専ら Perl の文脈でのみ用いられてきたが、後に Python など他のプログラミング言語のユーザの間でも、類似のイディオムに言及する際に用いられるようになった。しかしこのアルゴリズムは、シュワルツによる特定のイディオムとして Perl コミュニティの間で普及するより以前に、既に他の言語で(特定の名前を与えられずに)用いられている。「シュワルツ変換」の語は特定のイディオムを示すのであって、一般のアルゴリズムを示すのではない。
例として、リスト ("aaaa","a","aa") を各語の長さに基づいて並び替えることを考える。 まず文字列と長さの配列からリスト (["aaaa",4],["a",1],["aa",2]) を生成し(decorate)、次にタプルの数値に基づいてこのリストをソートし (["a",1],["aa",2],["aaaa",4]) を得て(sort)、最後にソート済みリスト要素から数値を取り除き(undecorate)、目的のリスト ("a","aa","aaaa") を得る。このアルゴリズムの Perl での実装を以下に示す: