[Moscow.pm] Неопределённое значение, но не undef

Nikita Zubkov nikzubkov на gmail.com
Ср Дек 25 20:58:26 PST 2013


Ключ хэша всегда строка. $bar{undef} это то же самое что и $bar{"undef"}.
То же самое касается

my $h = { undef => 1 };





26 декабря 2013 г., 6:31 пользователь Denis Ibaev <dionys на gmail.com>написал:

> Привет.
>
> Вот такой код
>
> 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 mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>



-- 
Regards,
Nikita Zubkov.
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20131226/8b45c1ec/attachment-0001.html>


Подробная информация о списке рассылки Moscow-pm