20
use strict;
use warnings;
my $foo = undef;
表达式
$foo . ''
和
"$foo"
都产生
Use of uninitialized value $foo in ... at ...
但下面的表达产生了第e没有警告的空字符串:
$foo x 1
任何人都知道为什么?我的意思是,有一个很好的字符串成语很酷($_ x 1
比defined ? "$_" : ''
短得多),但它感觉有点奇怪。
我确定这不是故意的,至少不是最初的。 – ikegami
'perldoc perlop'(搜索“Multiplicative Operators”)并没有提及有关'undef'左操作数的'x'的行为。我同意这可能是无意的。 –