文字列の文字順序を安全にランダムに指定する方法は?

文字列の文字順序を安全にランダムに指定する方法は?
[user@notebook ~]$ echo 'aabcd' | sed 's/\(.\)/\1\n/g' | perl -MList::Util -e 'print List::Util::shuffle <>' | perl -pe 's/\n//g';
cdaab[user@notebook ~]$ echo 'aabcd' | sed 's/\(.\)/\1\n/g' | perl -MList::Util -e 'print List::Util::shuffle <>' | perl -pe 's/\n//g';
dbaac[user@notebook ~]$ echo 'aabcd' | sed 's/\(.\)/\1\n/g' | perl -MList::Util -e 'print List::Util::shuffle <>' | perl -pe 's/\n//g';
cbada[user@notebook ~]$ echo 'aabcd' | sed 's/\(.\)/\1\n/g' | perl -MList::Util -e 'print List::Util::shuffle <>' | perl -pe 's/\n//g';
adcba[user@notebook ~]$ 

AFAIK これは、文字列の順序をランダムに指定する安全な方法です。しかし、ただ1つのperlコマンドでこれを実行できますか?

ベストアンサー1

「perl コマンド」の意味によって異なります。もちろん、これはいくつかのメソッドをリファクタリングすることによって行うことができます。

echo abcde | perl -MList::Util=shuffle -lpe '$_ = join "", shuffle split //'

おすすめ記事