Thanks heaps Jeff.
Both Chris and you are legends!

t.

Jeff Pang wrote:
> -----Original Message-----
> >From: timbo <[EMAIL PROTECTED]>
> >Sent: Aug 8, 2007 1:47 AM
> >To: beginners@perl.org
> >Subject: Timelocal's input parameters
> >
> >Is it possible to pass timelocal a parameter that's already the exact
> >scalar output of localtime's format "Mon Jan 10 04:30:30 2007"?
> >
> >I know the perlfunc documentations for timelocal indicates that
> >arguments are in the form of ...
> >
> >timelocal($seconds, $minutes, $hours, $day, $month, $year)
> >
> >but I have a logfile with the above time format & want to know if
> >there's an easier way of reading that entry & pass it to timelocal so
> >as to get the epoch time.
> >So far I can only think of using regex as the best solution but any
> >smarter solution will be happily appreciated.
> >
>
>
> This is the answer from Chris Charley,who helped the list with the same 
> question,and I remembered his answer below:
>
> #!/usr/bin/perl
> use strict;
> use warnings;
> use Time::Local;
>
> my %month;
> @month{ qw/Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec/ } = 0..11;
>
> my $date = "Thu Mar  9 23:04:03 2006";
>
> my (undef, $month, $day, $h, $m, $s, $year) = split /\W+/, $date;
>
> my $time = timelocal($s,$m,$h,$day,$month{$month},$year);
>
> print $time,$/;
>
> print scalar localtime $time;
>
>
> (Prints)
> 1141963443
> Thu Mar  9 23:04:03 2006
>
> --
> Jeff Pang <[EMAIL PROTECTED]>
> http://home.arcor.de/jeffpang/


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to