ランダム配列インデックスを取得する方法についてグーグルで多くの結果を見てきましたが、このシナリオに適用することはできませんでした。
次のことを考慮してください。
my %hash;
my @array = {"foo", "bar", "poo"};
$hash->{mykey} = @array;
$ hash-> {mykey}内の配列からランダムな要素を取得するにはどうすればよいですか?動作しない次のコードのようなもの:
my $element = $hash->{mykey}[rand($hash->{mykey})];
編集:したがって、以下の回答はこれについて非常に有益です。特に私の問題を悪化させているのは、スレッドモジュールを使用していて、ハッシュ要素に追加していた配列を共有するのを完全に忘れていたことです。このため、答えはすぐには機能しませんでした。
その見落としを修正した後、以下のソリューションは完全に機能しました。