私はこの形の断片を持っています:
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;
3つ以上の変数が関係しているため、現実はさらに厄介です。
私が本当に書きたいのはこれです:
my $total = $some_href->{$code}{'A'} + $some_href->{$code}{'B'};
undefは正しく0と評価されますが、ほとんどすべての実行で次の警告が表示されます。
Use of uninitialized value in addition (+) at Stats.pm line 192.
これらのメッセージを消すための最良の方法は何ですか?
注意:関連する場合は、「厳密に使用」および「警告を使用」します。