How can I dereference a hashref constant?
Posted
by makenai
on Stack Overflow
See other posts from Stack Overflow
or by makenai
Published on 2010-04-16T20:32:52Z
Indexed on
2010/04/17
13:03 UTC
Read the original article
Hit count: 280
perl
Let's say I have a hashref constant like the following:
use constant DOGS => {
Lassie => 'collie',
Benji => 'mutt',
Scooby => 'great dane',
Goofy => '???'
};
How can I dereference it properly to get say.. they keys out of it?
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)
The following is the only way I can seem to make it work:
my $dogs = DOGS;
warn keys( %$dogs ); # LassieBenjiGoofyScooby at untitled line 15.
What am I doing wrong?
© Stack Overflow or respective owner