我在 google 上看到了很多关于如何获取随机数组索引的结果,但我无法将其应用于这种情况。
考虑以下:
my %hash;
my @array = {"foo", "bar", "poo"};
$hash->{mykey} = @array;
如何从 $hash->{mykey} 中的数组中获取随机元素?类似于以下代码的东西不起作用:
my $element = $hash->{mykey}[rand($hash->{mykey})];
编辑:所以下面的答案对此非常有用。使我的问题特别复杂的是我正在使用线程模块,并且完全忘记了共享我附加到散列元素的数组!因此,答案对我不起作用。
在修复了该疏忽之后,以下解决方案完美运行。