Ну это уж в зависимости от того, что проверяете. Можно поставить || -1 :) Или хочется, чтобы везде одинаково было?
2013/12/23 Nick Knutov <[email protected]>: > Мысль интересная, но... а если проверяется $ha->[$i]->{is_main} ==1 ? > > 23.12.2013 21:42, Dmitry L. пишет: >> $foo = 0 if ( $ha->[$i]{is_main} || 1 ) == 0; >> >> >> 2013/12/23 Nick Knutov <[email protected]>: >>> Сейчас, чтобы не было варнингов (и если отключать их не допускается) >>> приходится добавлять во все условия проверку на существование >>> переменной. В итоге я имею кучу строчек вида >>> >>> $foo = 0 if $ha->[$i]->{is_main} and $ha->[$i]->{is_main}==0; >>> >>> И это еще простой пример, $ha бывает очень вложенным и развесистым и это >>> бывает не единственная переменная в условии. >>> >>> Как можно коротко и красиво переписать этот кусок? >>> $ha->[$i]->{is_main} and $ha->[$i]->{is_main}==0 >>> >>> Можно предполагать, что меня устроит, что отсутствие переменной и её >>> равенство undef даст одно и то же в результате проверки. >>> >>> -- >>> Best Regards, >>> Nick Knutov >>> http://knutov.com >>> ICQ: 272873706 >>> Voice: +7-904-84-23-130 >>> -- >>> Moscow.pm mailing list >>> [email protected] | http://moscow.pm.org >> >> >> > > -- > Best Regards, > Nick Knutov > http://knutov.com > ICQ: 272873706 > Voice: +7-904-84-23-130 > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org -- //wbr, Dmitry L. -- Moscow.pm mailing list [email protected] | http://moscow.pm.org
