Достаточно просто использовать ha sh в скалярном контексте.
if (%hash) { # Or %$hash in your case.
say "Not empty";
} else {
say "Empty";
}
%hash
vs keys(%hash)
keys(%hash)
в скалярном контексте: возвращает количество элементов. %hash
в скалярном контексте (≥5,26): возвращает количество элементов. %hash
в скалярном контексте (<5,26): возвращает, является ли ha sh пустым или нет. </li>
Итак независимо от версии, вы всегда можете просто использовать %hash
в скалярном контексте, чтобы проверить, является ли ha sh пустым. keys(%hash)
можно использовать для достижения того же результата, но %hash
в логическом контексте (например, if (%hash)
) было быстрее, чем эквивалентное использование keys(%hash)
с 5.12.
Итак, независимо от версии, вы всегда можете просто использовать keys(%hash)
в скалярном контексте, чтобы получить количество элементов в ha sh. Вы также можете использовать %hash
в скалярном контексте в более новых версиях.