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

Reply via email to