Здравствуйте, 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:[email protected]
--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org