カテゴリー
perl

Pelrで配列をシャッフル

たまに使う配列のシャッフル。
コピペで使えると便利なので。

sub shuffle {
  my @list;
  push( @list, splice(@_, int(rand(@_))) ) while(@_);
  return @list;
}

使い方

my @data = (1,2,3,4,5);
@data = shuffle(@data);

参考:http://sonic64.com/2004-11-13.html

こちらもどうぞ:perl の配列処理で 標準モジュール List::Util を使う理由

「Pelrで配列をシャッフル」への2件の返信

参考先にも書いてありますが、List::Util::shuffleを使った方がいいと思います

ありゃ、そうなんですか?
テスト的なスクリプトの時にコピペで使った程度なんですけど、
ガシガシ使うにはモジュール使った方が効率がいいのかなぁ。
標準モジュールですしね。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください