хорошо
 if (length($var)>0){} 
перепишем
if ( length( !defined $var ? '' : $var ) > 0 ) {
    print 'ok';
}
else {
    print 'not defined';
}




09.12.2011, 19:15, "Denis Evdokimov" <[email protected]>:
>> if ($var){} - кричать ошибку, а то можно много где накосячить, если эта 
>> строка равна '0'
> Это уж совсем не перловое поведение
>
>> if (length($var)>0){} валидный
> Какой же это валидный код... а если $var=undef;
> а если $var=0;
>
>> вставить if (a & b){} он не дал и, думаю, это очень правильно
> Заодно запретить
> if (a + b){}
> и прочие операторы в условиях
>
>> по идее в warning или perlcritic это тоже можно было прописать
> perl -we'if(1 && $a=3){}'
> Found = in conditional, should be == at -e line 1.
>
> --
> Moscow.pm mailing list
> [email protected] | http://moscow.pm.org

--
Nikolay Mishin
-- 
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить