下面是一些简单的Perl来计算数组中出现值的次数.这没有任何警告.
use warnings;
use strict;
my @data = qw(1 1 2 3 4 5 5 5 9);
my %histogram;
foreach (@data)
{
$histogram{$_}++;
}
Run Code Online (Sandbox Code Playgroud)
当循环体变为
$histogram{$_} = $histogram{$_} + 1;
Run Code Online (Sandbox Code Playgroud)
Perl警告"另外使用未初始化的值".
引擎盖下发生了什么?当作为操作符提供给++运算符并且使用+运算符未初始化时,为什么值被初始化?