Другой вариант -
$status = $ENV{ 'STATUS' } // '';
, которая установит $status
в пустую строку, если она не определена, но оператор //
существует только в perl 5.10 и более поздних версиях. Эквивалентный синтаксис до 5.10:
$status = defined $ENV{STATUS} ? $ENV{STATUS} : '';
хотя многие люди подделывают это с
$status = $ENV{ 'STATUS' } || '';
но это изменит $ENV{STATUS}
из 0 в пустую строку, что может быть или не быть проблемой для вас.
Однако это все ответы общего характера. В указанном вами коде, заменив все это на
$status = defined $ENV{STATUS} ? 1 : 0;
или даже просто
$status = defined $ENV{STATUS};
(если у вас все в порядке со значением 'not set', представляющим собой пустую строку вместо 0), будет лучшим вариантом.