当不存在的键分配给变量时,Perl 是否真正自动激活键?
我有这个代码:
my $variable = $self->{database}->{'my_key'}[0];
该变量$self->{database}->{'my_key'}[0]
在我的哈希中未定义,但如果我在分配后打印一个 Dumper,我很惊讶它my_key
被创建了。
我知道这种情况的功能:
use Data::Dumper;
my $array;
$array->[3] = 'Buster'; # autovivification
print Dumper( $array );
这会给我结果:
$VAR1 = [
undef,
undef,
undef,
'Buster'
];
但从没想过会以相反的方式工作,其中 :
my $weird_autovivification = $array->[3];
也会活跃起来$array->[3]
。