DướiTại sao phép nhân chuỗi của Perl không cảnh báo trên undef?
use strict;
use warnings;
my $foo = undef;
các biểu thức
$foo . ''
và
"$foo"
cả sản xuất
Use of uninitialized value $foo in ... at ...
nhưng biểu thức sau đây cho thứ e chuỗi rỗng không có cảnh báo:
$foo x 1
Bất kỳ ai cũng biết tại sao? Ý tôi là, thật tuyệt khi có một thành ngữ xâu chuỗi tốt đẹp ($_ x 1
ngắn hơn khá nhiều so với defined ? "$_" : ''
), nhưng có vẻ hơi lạ.
Tôi chắc chắn nó không cố ý, ít nhất là không phải lúc đầu. – ikegami
'perldoc perlop' (tìm kiếm cho" Phép toán nhân ") không nói bất cứ điều gì về hành vi của' x' với toán hạng bên trái 'undef'. Tôi đồng ý nó có thể không chủ ý. –