У меня есть фрагмент в таком виде:
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.
Как лучше убрать эти сообщения?
NB: я использую «строгие» и «использую предупреждения», если это уместно.