<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:13px">Ключ хэша всегда строка.</span><span style="font-family:arial,sans-serif;font-size:13px"> $bar{undef} это то же самое что и </span><span style="font-family:arial,sans-serif;font-size:13px">$bar{"undef"}. То же самое касается</span><div>

<span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:13px">my $h = { undef => 1 };</span></div><div><font face="arial, sans-serif"><br></font><div>

<span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><br></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">26 декабря 2013 г., 6:31 пользователь Denis Ibaev <span dir="ltr"><<a href="mailto:dionys@gmail.com" target="_blank">dionys@gmail.com</a>></span> написал:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Привет.<br>
<br>
Вот такой код<br>
<br>
sub foo { my ($val) = @_; }<br>
my %bar;<br>
my $undef;<br>
<br>
foo($bar{undef});<br>
foo($bar{$undef});<br>
<br>
выдаст на втором вызове функции foo() предупреждения<br>
<br>
Use of uninitialized value $undef in hash element<br>
Use of uninitialized value within @_ in list assignment<br>
<br>
При этом в первом вызове массив @_ будет содержать один элемент со<br>
значением undef, точнее алиас для $bar{"undef"}. Во втором же так же<br>
будет один элемент и как будто undef, но, судя по предупреждению, не<br>
совсем он. Похоже, что алиас на неопределённый элемент %bar. В чём же<br>
разница этих вызовов и для чего?<br>
<span class="HOEnZb"><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><div dir="ltr">Regards,<div>Nikita Zubkov.</div></div>
</div>