Steve wrote:
> I have this snippet of code which works fine. $start_time has MM-DD-YYYY
> HH:MM:SS.MM which is what I want.
>
> #################################
>
> if ($line =~ /^(\d\d-\d\d-\d{4}\s+\d\d:\d\d:\d\d\.\d\d).+Connection
> Established.+(\d\d\d\d\d)/i) {
> $start_time = $1;
> printf ("Start Time: $start_time\n");
>
> }
> ################################
>
>
> ################################
> if ($line =~ /^(\d\d-\d\d-\d{4})\s+(\d\d:\d\d:\d\d\.\d\d).+Session
$1 doesn't include the time. it only has the date! you aren't using your $2
below...
> Statistics/i)
> {
> $end_time = $1;
> printf ("End Time: $end_time\n");
> }
> ################################
>
>
looks like you are using Date::Manip for your time/date manipulation:
#!/usr/bin/perl -w
use strict;
use Date::Manip;
my $i = "09-17-2002 11:34:21.09 - Connection established at 898bps.\n";
my $j = "09-17-2002 11:40:46.57 - Session Statictics: blablabla\n";
#-- you probably don't need the '?'
my($s_time) = $i =~
/^(\d{2}-\d{2}-\d{4}\s+\d{2}:\d{2}:\d{2}\.\d{2}).+?Connection established
at/i;
#-- again you can probably get away without '?'
my($e_time) = $j =~
/^(\d{2}-\d{2}-\d{4}\s+\d{2}:\d{2}:\d{2}\.\d{2}).+?Session Statictics:/i;
$s_time =~ s#-#/#g;
$e_time =~ s#-#/#g;
$s_time = ParseDate($s_time);
$e_time = ParseDate($e_time);
my $error;
my $diff = DateCalc($s_time,$e_time,\$error,1);
die "Error comparing: $s_time and $e_time\n" if($error);
print "$diff\n";
__END__
david
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]