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]