设置未定义哈希值的默认值

Wes*_*eld 6 perl hash

我有一个散列,其值大多是整数,但有些是未定义的.我想将所有这些未定义的值设置为零,或者使用for循环,或者最好使用更优雅的方法.有人可以提出解决方案吗?

Сух*_*й27 11

这两种方法都使用foreach,

for my $key (keys %hash) {
  $hash{$key} //= 0;

}

$_ //= 0 for values %hash;
Run Code Online (Sandbox Code Playgroud)

//= 运算符测试变量是否未定义,并指定新值.