Ste*_*sky 20 perl warnings undef
下
use strict;
use warnings;
my $foo = undef;
Run Code Online (Sandbox Code Playgroud)
表达式
$foo . ''
Run Code Online (Sandbox Code Playgroud)
和
"$foo"
Run Code Online (Sandbox Code Playgroud)
都生产
Use of uninitialized value $foo in ... at ...
Run Code Online (Sandbox Code Playgroud)
但是下面的表达式给出了没有警告的空字符串:
$foo x 1
Run Code Online (Sandbox Code Playgroud)
谁知道为什么?我的意思是,有一个很好的字符串化习惯($_ x 1比defined ? "$_" : ''它短得多)很酷,但感觉有点奇怪.
我曾经在法学院的课堂上看过一个带场景的节目.导师向他的学生提出了两个类似的案例,并询问他们为什么会导致不同的裁决.他最终解释说,这是因为裁决是由法官制定的,而法官是人.
那应该是警告.在Perl上工作的开发人员就是人.perlbug如果您愿意,运行以发送错误报告.