我正在尝试检查哈希键是否存在,例如:
use warnings;
use strict;
use feature qw(say);
use Data::Dump qw(dump);
my $h={a=>1,b=>2};
dump($h);
if (exists $h->{a}{b}) {
say "Key exists.";
}
dump($h);
这将会得到:
{ a => 1, b => 2 }
Can't use string ("1") as a HASH ref while "strict refs" in use at ./p.pl line 12.
这个错误消息的原因是什么?
Data::Dump
。请注意,该模块默认导出dd
方法,您可以使用它来打印到 STDOUT。dump
方法用于将数据结构序列化为变量。但是,在无效上下文中调用它时,它的行为与dd
相同,这是我在观察您在此处的使用情况时不知道的。 - Miller