Итак, в Perl 5.20 новый ответ:
foreach my $key (keys $ad_grp_ref->%*) {
(что дает преимущество прозрачной работы с более сложными выражениями:
foreach my $key (keys $ad_grp_obj[3]->get_ref()->%*) {
и т. Д.)
См. perlref для полной документации.
Примечание: в Perl версии 5.20 и 5.22 этот синтаксис считается экспериментальным, поэтому вам необходимо
use feature 'postderef';
no warnings 'experimental::postderef';
вверху любого файла, который его использует.Perl 5.24 и более поздние версии не требуют прагм для этой функции.