Loc Date Hour Server Val
USA 1-Sep 00 ServerA 10
USA 1-Sep 00 ServerB 11
USA 1-Sep 01 ServerA 09
USA 1-Sep 01 ServerB 10
USA 1-Sep 02 ServerA 07
USA 1-Sep 02 ServerB 08
USA 2-Sep 00 ServerA 05
USA 2-Sep 00 ServerB 06
USA 2-Sep 01 ServerA 07
USA 2-Sep 01 ServerB 07
USA 2-Sep 02 ServerA 05
USA 2-Sep 02 ServerB 06
EUROPE 1-Sep 00 ServerA 10
EUROPE 1-Sep 00 ServerB 11
EUROPE 1-Sep 01 ServerA 09
EUROPE 1-Sep 01 ServerB 10
EUROPE 1-Sep 02 ServerA 07
EUROPE 1-Sep 02 ServerB 08
EUROPE 2-Sep 00 ServerA 05
EUROPE 2-Sep 00 ServerB 06
EUROPE 2-Sep 01 ServerA 07
EUROPE 2-Sep 01 ServerB 07
EUROPE 2-Sep 02 ServerA 05
EUROPE 2-Sep 02 ServerB 06
####
Hours/Date 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Sep-1 21 19 15
Sep-2 11 14 11
####
while() {
($keys, $date, $token, $server, $hour, $peak)= split;
@th = $date;
#$res{$key}{$server}->{REGION}++;
#$res{$key}{$user}->{QUANTITY}++;
if ($keys eq $filename){
switch($filename){
case "USA" {$res{$keys}{$date}->{DATE};$res{DATE}{$hour}->{PEAK}+=$peak;$flag=1}
case "EUROPE" {$res{$date}{$hour}->{PEAK}+=$peak;$flag=1}
else { print "previous case not true" }
}
}
}
if ($flag){
pgm_fil();
}
my $tablecontent;
sub pgm_fil{
my $q = new CGI;
$q->header;
$q->start_html();
print "";
my $tablecontent=[$q->th(['Date/Hours', '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23'])];
print "| Date/Hours | ";
foreach $datea(@th){
print "$datea | ";
}
foreach my $key (sort {$a<=>$b} keys %res){
foreach my $user (keys %{$res{$key}}){
foreach my $user1 (keys %{$res{$key}{$user}}){
my @hashval = $res{$key}{$user}{$user1};
foreach my $hashval( @hashval){
print "
| $user | $hashval[$_] |
";
push @$tablecontent,$q->td([$date,$hashval[$_] ]);
}
}
}
}
print "
";
print $q->table( { border => 1, -width => '50%', -align=>'left'},
$q->Tr( $tablecontent),
);
}