Bonjour

Je développe actuellement un script permettant d'afficher des statistiques de mon site personnel sur une page web avec CGI.

Pour illustrer mon post, je vais choisir la partie navigateur.

Code qui permet de récupérer le nom du navigateur et le nombre total de visites:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
open my ($in), $logstats;
    my %browser_report;
    while (<$in>)
    {
    	my $browser=(split)[3];
    	$browser_report{$browser}++;
    }
close ($in);
Code qui génère un tableau HTML:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
print $cgi->h2('Most populars browsers');
    print $cgi->table({},
      Tr({}, [
        th({-class=>"tdheadslow",-colspan=>3},['Browser / visits totals']),
        th({-class=>"tdhead"},['Browser', 'Visits', '%']),
        map { td({-class=>"tdfield"},[ $_, $browser_report{$_} ]) } keys %browser_report
     ]));
et enfin le code css pour l'apparence du tableau:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
table {
     font-size:small;
     border:thin solid #CCCCCC;
     width:15%;
     padding:1px;
}
.tdhead, .tdfield, .tdheadslow {
     width:15%;
     padding:2px;
     text-align:left;
}
.tdheadslow {
     text-align:center;
     color:#FFFFFF;
     background-color:#777777;
}
.tdhead {
     background-color:#CCCCCC;
}
.tdfield {
     background-color:#FFFFFF;
}
Il me reste à calculer le pourcentage par navigateurs. Quelle est la meilleure solution pour réaliser ce type de calcul ? J'ai pensé à une fonction qui pourrait être utilisée pour chaque partie, navigateurs, os, etc.

Qu'en pensez-vous ?

Merci