Относительно этого вопроса, какая разница между установленным вручную
к элементу списка undef
и тому, который был установлен Perl при увеличении размера
этот список, назначая более крупный индекс, чем размер списка, при
алиас? Например, учитывая этот код:
@a = (undef, 0);
@b = ();
$b[1] = 0;
print Dumper(@a), "\n", Dumper(@b);
Он печатает (как и ожидалось, я думаю):
$VAR1 = undef;
$VAR2 = 0;
$VAR1 = undef;
$VAR2 = 0;
Итак, не являются ли массивы одинаковыми? Видимо, не:
sub change { $_[0] = 1 }
change(@a); change(@b);
print Dumper(@a), "\n", Dumper(@b);
Какие принты:
$VAR1 = 1;
$VAR2 = 0;
$VAR1 = undef;
$VAR2 = 0;