Допустим, у меня есть константа хешфрейка, как показано ниже:
use constant DOGS => {
Lassie => 'collie',
Benji => 'mutt',
Scooby => 'great dane',
Goofy => '???'
};
Как я могу правильно разыменовать его, чтобы сказать ... они из него ключи?
warn ref DOGS; # HASH at untitled line 12.
warn keys( %{DOGS} ); # Warning: something's wrong (empty list)
warn keys( DOGS ); # Type of arg 1 to keys must be hash (not constant item)
Следующее - единственный способ заставить его работать:
my $dogs = DOGS;
warn keys( %$dogs ); # LassieBenjiGoofyScooby at untitled line 15.
Что я делаю не так?