Я использую Apache::Log::Parser для анализа файлов журнала Apache.Использование времени :: Piece с Apache :: Log :: Parser
Я извлек дату из файла журнала, используя следующий код.
my $parser = Apache::Log::Parser->new(fast=>1);
my $log = $parser->parse($data);
$t = $log->{date};
Теперь, я пытался использовать Time::Piece разобрать даты, но я не могу это сделать.
print "$t->day_of_month";
Но, это не работает. Как использовать Time :: Piece для синтаксического анализа даты?
Удалены двойные кавычки, и он выдает ошибку 'Невозможно вызвать метод" day_of_month "без ссылки на пакет или объект – Pradeep
@Pradeep прочитать последнюю часть моего ответа. Сначала вам нужно создать объект. Просто падение Time :: Piece in не волшебным образом конвертирует какое-то значение в объект даты. – simbabque
Пытался создать новый 'Time :: Piece Object',' Time :: Piece-> strptime ($ log -> {date}, "% Y"); ' , но продолжает метать ошибку ' Время обработки ошибки на C : /xampp/perl/lib/Time/Piece.pm строка 469' – Pradeep