Как уже сказали - регулярки в grep'е. Только если файл большой и нужно будет много парсить в этом временном промежутке то сначала грепаю по времени в отдельный файл, а дальше по нему уже ищу. Кстати, нужно было как-то прогрепать лог на пару гигабайтов, посмотреть сколько обращений с каждого адреса приходит, так грепать каждый раз этот большой файл получилось быстрее, чем для каждого адреса считать количество вхождений а потом sed'ом удалять эти строки из файла (я думал что раз файл будет каждый раз уменьшаться то получится быстрее, но получается только дольше из-за того что sed постоянно временные копии файла делает и потом подменяет основной).
На самом деле вот это извлечение по паттерну не нужно, можно просто сравнить саму строку, которая в перле $_ , и граничные даты, ведь мы сравниваем строки.
а почему в Perl никто DateTime не пользуется - медленно и много писать?
Это монстр-комбайн. Если его и использовать, то на полную катушку. А если брать 1-2 фичи из него, то: а) есть более легкие и быстрые альтернативы; б) накостылять велосипед также чаще проще и работать будет быстрее. В остальном, модуль как модуль.