#!/usr/bin/perl -w use strict; use Time::Local; #use Time::Local 'timegm_nocheck'; #faster non error checked version my %montext2num = ('Jan' => 0, 'Feb'=> 1, 'Mar'=> 2, 'Apr'=> 3, 'May'=> 4, 'Jun'=> 5, 'Jul'=> 6, 'Aug'=> 7, 'Sep'=> 8, 'Oct'=> 9, 'Nov'=> 10, 'Dec'=> 11); my $x = epoch('[26/Mar/2011:06:00:00 ]'); print "epoch=$x\n"; sub epoch { my $log_time = shift; # like [26/Mar/2011:06:00:00.....blah] my ($day,$mon,$year,$hour,$min,$sec) = $log_time =~ m|(\d+)/(\w+)/(\d+):(\d\d):(\d\d):(\d\d)|; my $month = $montext2num{$mon}; return (timegm($sec, $min, $hour, $day, $month, $year)); }