Perl: Неожиданное поведение $_

use Modern::Perl;
use DateTime;
use autodie;

my $dt;

open my $fh, '<', 'data.txt';

# get the first date from the file
while (<$fh> && !$dt) {
   if ( /^(\d+:\d+:\d+)/ ) {
      $dt = DateTime->new( ... );
   }
   print;
}

Я ожидал, что этот цикл будет читать каждую строку файла до тех пор, пока читается первое значение даты и времени.

Вместо этого $_ унитализируется, и я получаю множество сообщений «неинициализированное значение $_ в сопоставлении с образцом» (и вывод).

Есть идеи, почему это происходит?

А

7
задан Richard 27 March 2012 в 12:06
поделиться