Como posso atribuir um resultado de condição booleana a uma variável escalar em perl?

Eu estou fazendo o seguinte, mas não está funcionando corretamente:

    my $enabled = $hash && 
                  $hash->{'key'} && 
                  $hash->{'key'}->{'enabled'} && 
                  $hash->{'key'}->{'active'};

Esta é uma maneira aceitável de atribuir um valor booleano a uma variável escalar? Meu código está se comportando de maneira estranha, como é, e acredito que seja por causa dessa tarefa. Eu validei que os valores individuais existem para todas essas chaves e estão definidos para um valor.

P.S. Desculpe por ser um noob! Eu pesquisei por ~ 10 minutos e não consegui encontrar a resposta em nenhum lugar.

questionAnswers(1)

yourAnswerToTheQuestion