Dear List,
I have the following program and also the data on which this works.
I want to know:
1. What does the line
$hash{$1}+=$2 if(m/^Time\s+(\d+)\s+Count\s+(\d+)/);
means
2. The line
printf "$sec - %d\n", $hash{$sec};
prints out xx - yy
where xx = Seconds elapsed and
yy - Total Count per that Second
How can I Insert the Strings
"Seconds Elapsed :"
and
"Events Per this Second :"
I would appreciate any help, I am new to Perl, and HAVE to learn it VERY
FAST.
Thanks
#!/usr/bin/perl -w
use strict;
use Time::Local qw/timelocal_nocheck/;
my %hash;
while(<>){
$hash{$1}+=$2 if(m/^Time\s+(\d+)\s+Count\s+(\d+)/);
}
## Go through all the seconds for this day
my $start;
my $end = 0;
my $total;
my %dists;
foreach my $sec (sort {$a <=> $b} keys %hash){
$start = $sec if (! defined $start);
$end = $sec if ($sec > $end);
$total += $hash{$sec};
## Distribution of the entries/second
$dists{$hash{$sec}}++;
printf "$sec - %d\n", $hash{$sec};
}
my $lapse = $end - $start + 1;
printf "$total entries in $lapse sec: %d/sec\n", ($total / $lapse);
my $soFar = 0;
my $median;
foreach my $dist (sort { $b <=> $a } keys %dists) {
$median = $dist if ($soFar < $lapse / 2);
$soFar += $dists{$dist};
}
printf "Median: $median Mean %d\n", ($total/$lapse);
PARTIAL DATA:
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 2 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 16 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 49 Diff 0
Time 0 Count 46 Diff 0
Time 7 Count 49 Diff 7
310.229 events/second. Total events = 0
Time 7 Count 49 Diff 0
Time 7 Count 11 Diff 0
Time 7 Count 49 Diff 0
Time 7 Count 49 Diff 0
Time 7 Count 49 Diff 0
Time 7 Count 49 Diff 0
Time 7 Count 49 Diff 0
Time 7 Count 49 Diff 0
Time 7 Count 49 Diff 0
Time 7 Count 49 Diff 0
Time 7 Count 49 Diff 0
Time 7 Count 4 Diff 0
Time 7 Count 49 Diff 0
Time 7 Count 34 Diff 0
Time 7 Count 49 Diff 0
Time 7 Count 49 Diff 0
Time 7 Count 3 Diff 0
Time 7 Count 49 Diff 0
Time 7 Count 49 Diff 0
Time 7 Count 49 Diff 0
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Kamal
Ahmed
Sent: Saturday, July 26, 2003 12:15 AM
To: 'ActivePerl mailing list'
Subject: Number of objects in a list
Hi Perl Group,
How can I get number of objects in a hash ?
Thanks,
Kamal.
_______________________________________________
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