[Moscow.pm] if $var and $var==
Михаил Монашёв
postmaster на softsearch.ru
Пн Дек 23 14:45:54 PST 2013
Здравствуйте, Nick.
Проблема в подходе. Надо таки организовывать работу с переменными,
чтобы условия писались так:
if($ha->[$i]->{is_main})
Если Вам сложно работать с тремя значениями (0,1 и undef), то
работайте с двумя: 0 и 1 и всегда инициализируйте переменные.
> Сейчас, чтобы не было варнингов (и если отключать их не допускается)
> приходится добавлять во все условия проверку на существование
> переменной. В итоге я имею кучу строчек вида
> $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 даст одно и то же в результате проверки.
--
С уважением,
Михаил mailto:postmaster на softsearch.ru
Подробная информация о списке рассылки Moscow-pm