Bonjour tout le monde !!
soit un script perl non écrit par mes soins (ça risque pas...) que je dois modifier pour que celui-ci m'affiche ce que je veux de la manière que je veux !!
voici le code
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 sub alarming_stat_sql{ my $table=shift; # table à interroger my $list=shift; my $date_deb=shift; # date à partir de laquelle on regarde (incluse) my $date_fin=shift; # date à laquelle on s'arrête (exclue) my $sql=$dbh->selectall_arrayref(" SELECT severite,s_objet,count (severite) FROM $table WHERE s_machine in $list AND d_detection >= '$date_deb' AND d_detection <'$date_fin' GROUP BY severite,s_objet" ) || die ('Erreur alarming_stat $table'); foreach (@$sql) { my ($severite,$objet,$nb)=@$_; # récupération des paramétres $objet=~s/\s+$//; # suppression des espaces en fin de chaine $ALARME{$severite}->{'nb'}+=$nb; # mise à jour du nb d'alarmes pour la sévérité } }en fait il y a une base qui ressence des alarmes de sévérité 0,1,2,3 ou 4.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 foreach my $severite (keys %ALARME) { print FD_K"$ALARME{$severite}->{'nb'}|"; }
ce script me sort le nombre d'alarme pour chaque sévérité
or si aucune alarme pour une sévérité n'existe, il ne l'affiche pas du tout !!
donc en final, j'aimerai qu'il m'affiche un truc du genre :
14|5|0|0|15 et non 14|5|15
ou encore
0|2|0|21|18 et non 2|21|18
je n'y connais pas grand chose en perl, j'arrive à comprendre un peu du fait des ressemblances mais bon :/
je n'ai pas coller tout le code du script, je pense que le problème doit se situer là...
histoire de compliquer la chose, je n'ai pas d'accès autre que celui-ci à la base pour voir sa structure et contenu...erf
merci de votre aide
Partager