UnderDlaczego mnożenie ciągu Perla nie ostrzeże na undef?
use strict;
use warnings;
my $foo = undef;
wyrażenia
$foo . ''
i
"$foo"
zarówno produkować
Use of uninitialized value $foo in ... at ...
ale daje następujące wyrażenie th e pusty ciąg bez ostrzeżenia:
Ktoś wie dlaczego? Mam na myśli, że fajnie jest mieć fajny idiom strunyfikacyjny ($_ x 1
jest znacznie krótszy niż defined ? "$_" : ''
), ale wydaje się nieco dziwny.
Jestem pewien, że nie było to zamierzone, przynajmniej na początku. – ikegami
'perldoc perlop' (szukaj" Multiplikatywnych operatorów ") nie mówi nic o zachowaniu' x' z operandem 'undef'. Zgadzam się, że to prawdopodobnie niezamierzone. –