Использование определений с помощью Filehandle и while Loop

Читая книгу о продвинутом программировании на Perl(1)Я наткнулся на этот код:

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

Есть ли особая причина для использованияdefined Вот?документация дляperlop говорит:

В этих конструкциях цикла назначенное значение (является ли присвоение автоматическим или явным) затем проверяется, чтобы определить, определено ли оно. Определенный тест позволяет избежать проблем, когда строка имеет строковое значение, которое Perl будет рассматривать как ложное, например:"" или"0" без завершающего символа новой строки. Если вы действительно хотите, чтобы такие значения завершали цикл, они должны быть явно проверены: [...]

Итак, будет ли угловой шкаф или это просто потому, что книга слишком старая и автоматическийdefined тест был добавлен в недавней версии Perl?

(1)Расширенное программирование на Perl, первое издание, Шрирам Шринивасан. О'Рейли (1997)

Ответы на вопрос(3)

Ваш ответ на вопрос