<div dir="ltr">2013/11/19 Denis Ibaev <span dir="ltr"><<a href="mailto:dionys@gmail.com" target="_blank">dionys@gmail.com</a>></span><br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Привет.<br>
<br>
> perl -E 'use strictures; my $v; say(%$v);'<br>
Can't use an undefined value as a HASH reference at -e line 1.<br>
<br>
> perl -E 'use strictures; my $v; say(keys(%$v), "ok");'<br>
ok<br>
<br>
Почему разыменование переменной со значением undef в хеш не вызывает<br>
ошибки с случае keys() и values()?<br>
<br></blockquote><div><br></div><div>Видимо, keys и пр. автовивифицируют $v:</div><div><br></div><div>perl -Mstrict -E 'my $v; say "keys: ", keys %$v; say "v: ", $v'<br></div><div><div>keys: </div>
<div>v: HASH(0x96bde8)</div></div><div><br></div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

> perl -v<br>
This is perl 5, version 14, subversion 2 (v5.14.2) built for<br>
x86_64-linux-gnu-thread-multi<br>
<span class=""><font color="#888888"><br>
--<br>
Денис Ибаев<br>
--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br>Best regards,<br>Ilya Chesnokov
</div></div>