I think it's the " %s" at the end of the format string--it's a fifth format and only four "arguments" are presented....
print sprintf("%02d:%02d:%02d.%06d %s", ## ----- THIS IS Line 208
$hour, $minute, $second, $microseconds);
The first %02d is for $hour, the second %02d is for $minute, the third %02d is for $second, the %06d is for $microseconds, so what is that %s hanging off the end supposed to get?
Deane
| "Kamal Ahmed" <[EMAIL PROTECTED]>
Sent by: [EMAIL PROTECTED] 10/04/2004 16:20
|
To: <[EMAIL PROTECTED]> cc: Subject: RE: Time in perl |
Bill,
When I use your approach, I am getting an error:
25/02/2001-Use of uninitialized value in sprintf at ./exploitD.pl line
208.
17:14:33.016000 time="" action="" orig="bedm-edn-650-pri"
i/f_dir="inbound" i/f_
Line 208 and few lines around it are as below:
sub genOne {
my $index = shift;
my %data;
$data{'name'} = "test";
my $num = int(rand() * 100);
my $year = 1997 + intRand(5);
my $mon = intRand(12);
my $day = intRand(28) + 1;
my $date = "";
$date .= "0" if (int($day) < 10);
$date .= $day;
$date .= "\/$months[$mon]\/$year-";
print "$date";
$data{'LogFileID'} = '1044611703';
$data{'LogRecNum'} = $recNum++;
##$data{'time'} = "$date";
##-------------------
my $epochseconds = "0";
my $microseconds = "0";
($epochseconds, $microseconds) = gettimeofday;
($second, $minute, $hour) = localtime($epochseconds);
print sprintf("%02d:%02d:%02d.%06d %s", ## ----- THIS IS Line 208
$hour, $minute, $second, $microseconds);
##----------------------
Thanks,
-Kamal.
-----Original Message-----
From: Bill Curnow [mailto:[EMAIL PROTECTED]
Sent: Monday, October 04, 2004 10:48 AM
To: Kamal Ahmed; [EMAIL PROTECTED]
Subject: Re: Time in perl
On 4 Oct 2004 at 10:34, Kamal Ahmed wrote:
> I am trying to print time in a format HH:MM:SS.nnnnnn
> E.g. 08:06:26.464649
>
> Any ideas how I can do it ?
use Time::HiRes qw(gettimeofday);
($epochseconds, $microseconds) = gettimeofday;
($second, $minute, $hour) = localtime($epochseconds);
print sprintf("%02d:%02d:%02d.%06d %s",
$hour, $minute, $second, $microseconds);
One caveat, Win32 systems do not appear to be able to give you
anything smaller than milliseconds (the first three decimal places).
_______________________________________________
ActivePerl mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
_______________________________________________ ActivePerl mailing list [EMAIL PROTECTED] To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
