В хешах perl нет порядка для ключей. Используйте функцию sort , чтобы получить ключи в нужном вам порядке, или вы можете вставить ключи в массив при создании хэша, и ваш первый ключ будет иметь нулевой индекс в массиве
Вы можете использовать приведенный ниже код, я предполагаю, что имя хэша - my_hash, а ключи и значения - числа. Если у вас есть строки, вы можете использовать cmp
вместо <=>
. Обратитесь к документации сортировки для получения более подробной информации
Получить ключ макс.
foreach (sort {$b <=> $a} keys %my_hash) {
print "Keys is $_\n";
print "Value is $my_hash{$_}\n";
last;
}
Получить ключ, соответствующий максимальному значению
foreach (sort {$my_hash{$b} <=> $my_hash{$a}} keys %my_hash) {
print "Keys is $_\n";
print "Value is $my_hash{$_}\n";
last;
}