Uso do definido com Filehandle e while Loop

Enquanto lê um livro sobre programação avançada em Perl (1), Me deparei com este código:

while (defined($s = <>)) {
    ...

Existe algum motivo especial para usardefined aqui? O documentação para perlop diz:

Nessas construções de loop, o valor atribuído (se a atribuição é automática ou explícita) é testado para verificar se está definido. O teste definido evita problemas em que a linha tem um valor de string que seria tratado como falso pelo Perl, por exemplo, um"" ou"0" sem nova linha final. Se você realmente deseja que esses valores finalizem o loop, eles devem ser testados explicitamente: [...]

Então, haveria uma caixa de canto ou isso é simplesmente porque o livro é muito antigo e o @ automátidefined test foi adicionado em uma versão recente do Per

(1)rogramação Avançada em Perl, Primeira Edição, Sriram Srinivasan. O'Reilly (1997)

questionAnswers(6)

yourAnswerToTheQuestion