<div dir="ltr"><div><div>Думаю, что имелось ввиду<br>defined $ha->[$i]->{is_main} && $ha->[$i]->{is_main}==0<br><br></div>В целом, можно<br>($ha->[$i]->{is_main}//0)==0<br></div>Но не думаю, что так стоит делать.<br>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">23 декабря 2013 г., 19:09 пользователь Nick Knutov <span dir="ltr"><<a href="mailto:mail@knutov.com" target="_blank">mail@knutov.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>
$foo = 0 if $ha->[$i]->{is_main} and $ha->[$i]->{is_main}==0;<br>
<br>
И это еще простой пример, $ha бывает очень вложенным и развесистым и это<br>
бывает не единственная переменная в условии.<br>
<br>
Как можно коротко и красиво переписать этот кусок?<br>
$ha->[$i]->{is_main} and $ha->[$i]->{is_main}==0<br>
<br>
Можно предполагать, что меня устроит, что отсутствие переменной и её<br>
равенство undef даст одно и то же в результате проверки.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Best Regards,<br>
Nick Knutov<br>
<a href="http://knutov.com" target="_blank">http://knutov.com</a><br>
ICQ: 272873706<br>
Voice: +7-904-84-23-130<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></div>