YAPC で少し紹介しようと思って、DEMO も用意してたんですが、時間がなくて諦めたので、ちょろっと紹介しときます。 Data::WeightedRoundRobin は重み付けされた値をベストエフォートな感じでラウンドロビンしてくれるモジュールです。 使い方は簡単で、以下のような感じ。 use Data::WeightedRoundRobin; my $wrr = Data::WeightedRoundRobin->new([ { value => 'hidek', weight => 65 }, { value => 'zigorou', weight => 80 }, { value => 'nekokak', weight => 75 }, ]); say $wrr->next for 1..100; こうすると、大体 hidek : zigorou : nekokak = 65