3
use strict;
use warnings;
use Data::Dumper;
my %h;
my $undef = undef;
$h{''}='test2';
$h{$undef} = 'test';
print Dumper (\%h);
创建以下的输出:为什么undef变成空字符串?
$VAR1 = {
'' => 'test'
};
这究竟是为什么? 我有Perl 5.12.3。
谢谢你的时间。
谢谢你的混沌。这是在Perl文档中的某处吗? – Birdy
@Birdy:'man perldata'(又名http://perldoc.perl.org/perldata.html)将散列定义为“由其相关字符串键索引的标量值的无序集合”。其他一切都来自于字符串键,Perl的自动类型提升和undef行为。 – chaos
感谢您的时间! – Birdy