Получить случайное значение из% хеша
- Храните ключи вашего
%hash
в @hash_keys
.
- генерирует случайное число между
0
и длиной @hash_keys
- получить случайную запись от
@hash_keys
- используйте полученный ключ, чтобы получить случайное значение из
%hash
Пример фрагмента :
my %hash = (
'stack' => 'overflow',
'face' => 'book',
'inter' => 'net'
);
## ALTERNATIVE 1 ##
my @hash_keys = keys %hash;
my $random_key = $hash_keys[rand @hash_keys];
my $random_value = $hash{$random_key};
## ALTERNATIVE 2 ##
my $random_val_2 = (%hash)[1+2*int rand keys%hash]; # TIMTOWTDI
## ALTERNATIVE 3 ##
my $random_val_3 = [@_=%hash]->[1|rand@_]; # TIMTOWTDI