Ho un frammento in questa forma:In Perl, c'è un modo elegante per convertire undef a 0 manualmente?
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;
La realtà è ancora più disordinato, da più di due variabili sono interessati.
Quello che voglio scrivere è questo:
my $total = $some_href->{$code}{'A'} + $some_href->{$code}{'B'};
e hanno undef valutare correttamente a 0 ma ottengo questi avvertimenti in quasi ogni corsa:
Use of uninitialized value in addition (+) at Stats.pm line 192.
Qual è il modo migliore per rendere questi messaggi vanno via?
NB: I 'use strict' e 'use warnings', se pertinente.
È pertinente. In questo caso, hai attivato un avviso di cui non ti importa. – jrockway