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» (aka http://perldoc.perl.org/perldata.html) определяет хеши как «неупорядоченные коллекции скалярных значений, индексированных их связанным строковым ключом». Все остальное следует из ключей, являющихся строками, автоматического продвижения по типу Perl и поведения undef. – chaos
Спасибо за ваше время! – Birdy