Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re: Calculate hourly averages

by dwm042 (Priest)
on Oct 15, 2010 at 15:23 UTC ( #865495=note: print w/replies, xml ) Need Help??


in reply to Calculate hourly averages

Is this more what you were thinking of?

#!/usr/bin/perl use warnings; use strict; my %hours; while(<DATA>) { next unless $_ =~ /\w+/; my @F = split; if ( $F[2] =~ /(\d{2})\:\d{2}:\d{2}/ ) { $hours{$1}{value} += $F[3]; $hours{$1}{count}++; } } for ( sort { $a <=> $b } keys %hours ) { print "Sum at $_ hours is ", $hours{$_}{value}, "\n"; print "Count at $_ hours is ", $hours{$_}{count}, "\n"; } __DATA__ 26603 2010-10-09 00:00:23 38784360.8136 26603 2010-10-09 00:01:23 36529742.6667 26603 2010-10-09 00:02:23 36966880.8000 26603 2010-10-09 00:03:23 35666405.8667 26603 2010-10-09 01:05:23 35600190.6667 26603 2010-10-09 02:06:23 39175029.2000 26603 2010-10-09 03:07:23 35386478.4000 26603 2010-10-09 04:08:27 35773482.7500 26603 2010-10-09 05:09:23 39073367.5714 26603 2010-10-09 06:10:23 34379049.8667 26603 2010-10-09 07:11:24 33984045.7705 26603 2010-10-09 09:12:23 36276301.8305 26603 2010-10-09 10:13:23 37248366.0000
which yields the results:

C:\Code>perl values_per_hour.pl Sum at 00 hours is 147947390.147 Count at 00 hours is 4 Sum at 01 hours is 35600190.6667 Count at 01 hours is 1 Sum at 02 hours is 39175029.2 Count at 02 hours is 1 Sum at 03 hours is 35386478.4 Count at 03 hours is 1 Sum at 04 hours is 35773482.75 Count at 04 hours is 1 Sum at 05 hours is 39073367.5714 Count at 05 hours is 1 Sum at 06 hours is 34379049.8667 Count at 06 hours is 1 Sum at 07 hours is 33984045.7705 Count at 07 hours is 1 Sum at 09 hours is 36276301.8305 Count at 09 hours is 1 Sum at 10 hours is 37248366 Count at 10 hours is 1 C:\Code>

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://865495]
help
Chatterbox?
[marto]: Salami_slicing
[Corion]: marto: Aah ;) Yeah - I guess I'll make the first changes to the old module, by extending its test suite to be more lenient, and then the switch to the new results should still pass the test suite :-D

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (8)
As of 2018-07-16 08:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    It has been suggested to rename Perl 6 in order to boost its marketing potential. Which name would you prefer?















    Results (333 votes). Check out past polls.

    Notices?