[Moscow.pm] Неопределённое значение, но не undef
Denis Ibaev
dionys на gmail.com
Ср Дек 25 16:31:59 PST 2013
Привет.
Вот такой код
sub foo { my ($val) = @_; }
my %bar;
my $undef;
foo($bar{undef});
foo($bar{$undef});
выдаст на втором вызове функции foo() предупреждения
Use of uninitialized value $undef in hash element
Use of uninitialized value within @_ in list assignment
При этом в первом вызове массив @_ будет содержать один элемент со
значением undef, точнее алиас для $bar{"undef"}. Во втором же так же
будет один элемент и как будто undef, но, судя по предупреждению, не
совсем он. Похоже, что алиас на неопределённый элемент %bar. В чём же
разница этих вызовов и для чего?
--
Денис Ибаев
Подробная информация о списке рассылки Moscow-pm