【发布时间】:2026-01-11 13:05:02
【问题描述】:
我有一个这种形式的片段:
my $a = $some_href->{$code}{'A'}; # a number or undef
my $b = $some_href->{$code}{'B'}; # a number or undef
$a = 0 unless defined($a);
$b = 0 unless defined($b);
my $total = $a + $b;
现实更加混乱,因为涉及到两个以上的变量。
我真正想写的是:
my $total = $some_href->{$code}{'A'} + $some_href->{$code}{'B'};
并且 undef 正确评估为 0,但我几乎在每次运行时都会收到这些警告:
Use of uninitialized value in addition (+) at Stats.pm line 192.
消除这些消息的最佳方法是什么?
注意:如果相关,我会“使用严格”和“使用警告”。
【问题讨论】:
-
相关。在这种情况下,您启用了一个您不关心的警告。