Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1831 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  [Perl] Création d'un top 10

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Perl] Création d'un top 10

n°980743
sasame
Posté le 14-02-2005 à 10:36:50  profilanswer
 

Bonjour, je travaille actuellement sur la création d'un top 10 en perl, sur un fichier de log antivirus d'un serveur de messagerie. Le resultat est ensuite affiché sur une page html.
 
Le probleme c'est que quand je je veux afficher le top 10, ça ne me marque qu'une seul ligne, un peu embetant pour un top 10.
 
voila a quoi ressenble mon fichier de log, les 2 premieres lignes.
 

Code :
  1. mer fév 9 00:04:41 CET 2005 - mer fév 9 00:04:43 CET 2005 :,,from:,laffichiste@yahoo.fr,to :,pnoguet@seei.fr,1,Worm.SomeFool.Gen-1 FOUND
  2. mer fév 9 00:07:35 CET 2005 - mer fév 9 00:07:36 CET 2005 :,,from:,sclosed-recipients@wanadoo.fr,to :,n@mq.getelec.fr,1,Worm.Bagle.AG FOUND


 
voila mon code
 

Code :
  1. foreach $logline4 (@input4)
  2. {
  3.       if ($logline4 =~ /FOUND/)
  4.            {
  5.                       # nombre de virus total
  6.                       $VirusCount++;
  7.                                  
  8.                       # récupération du nom du virus
  9.                        ($date,$time,type,$host,$to,$ab,$bc,$VirusNom) = split (/,/,$logline4);
  10.                        ($VirusName,$found) = split (/ /,$VirusNom);
  11.                
  12.                       # nombre d'occurence par virus
  13.                       $VirusList{$VirusName)++;
  14.        }
  15. }   
  16. $count=1;
  17. foreach $Virus ( sort keys %VirusList ) {
  18.       if ($count < 16) {
  19.          $data_count       = $VirusList{$Virus};
  20.          $data          = $Virus;
  21.          $result_VIRUS .= eval qq/"$htmlVIRUS"/;
  22.          $result_VIRUS   .= "\n";
  23.          print "."   if ($debug > 1);
  24.       }
  25.       $count++;
  26. }


 
Si quelqu'un pourrai m'aider à trouver où ça couince ça serai sympa.
Merci.

mood
Publicité
Posté le 14-02-2005 à 10:36:50  profilanswer
 

n°980760
couak
Posté le 14-02-2005 à 11:07:57  profilanswer
 

question qui n'a rien à voir avec ton problème : comment tu peux faire un top10 sans faire un tri sur le nbre d'occurence trouvé ?

n°980767
sasame
Posté le 14-02-2005 à 11:19:07  profilanswer
 

en fait moi j'ai repupéré un script deja existant et je l'ai adapté à mes besoin. Je n'y connais pas grand chose en perl donc c'est pour ça que je vous demande conseil.

n°980769
couak
Posté le 14-02-2005 à 11:20:32  profilanswer
 

moi perso je comprends pas tout, il y a des variables dont j'ignore la fonction et une portion de code pas testable

n°980776
sasame
Posté le 14-02-2005 à 11:26:39  profilanswer
 

j'ignore moi meme certaine variable.
J'ai testé cette portion de code  

Code :
  1. $result_VIRUS .= eval qq/"$htmlVIRUS"/;
  2.          $result_VIRUS   .= "\n";


 
apparement elle sert pas à grand chose.
 
Autre chose, quand je modifie le "count < 16" exemple je met 10, ça me change carement le nom du virus, ça en prend un autre dans le log
 
ce qui marche :
nombre de detection de virus
recupération du nom du virus
nombre d'occurence du virus
 
 
 
 

n°980798
couak
Posté le 14-02-2005 à 11:36:05  profilanswer
 

es-tu sûr d'avoir fais un bon copier/coller ?
ligne 9 : manque un "$"
ligne 19 : il faut un "}" à la place du " )"

n°980819
sasame
Posté le 14-02-2005 à 11:44:25  profilanswer
 

un oublie pour la ligne 9
mais à la ligne 19 je vois pas pourquoi il faut un "}" à la place du " )"

n°980842
couak
Posté le 14-02-2005 à 11:52:19  profilanswer
 

ouais bah moi j'abandonne le code est intestable et puis tu ne fais pas l'effort de te pencher sur le perl

n°980850
sasame
Posté le 14-02-2005 à 11:57:34  profilanswer
 

Ba tanpis, merci quand meme, mais bon ça fait quant meme 1 mois que jsuis dessus, ça me gonfle aussi et ça fait juste 1 mois que je fait du perl aussi.

n°980856
couak
Posté le 14-02-2005 à 12:01:03  profilanswer
 

sasame a écrit :

Ba tanpis, merci quand meme, mais bon ça fait quant meme 1 mois que jsuis dessus, ça me gonfle aussi et ça fait juste 1 mois que je fait du perl aussi.


pour le "}" c'est normal : si tu ouvres un "{" il faut le refermer par un "}" et pas par un " )"
je te conseillerai plutôt de refaire la portion de code qui t'intéresse, car ce qui a été fait est difficilement compréhensible (ca ne fait sûrement pas ce que toi tu veux faire)
essai de le refaire par toi-même et si tu as des difficultés exposes les sur le forum

mood
Publicité
Posté le 14-02-2005 à 12:01:03  profilanswer
 

n°980864
sasame
Posté le 14-02-2005 à 12:11:30  profilanswer
 

de toute façon il va faloir que je reface un code parsque celui là est imbuvable.
 
ha ok je vois de quel crochet tu parles, non c juste une erreur de copier collé ça


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  [Perl] Création d'un top 10

 

Sujets relatifs
[PERL] Probleme avec LWP et UserAgent dans PurePerlmoteur de recherche sans création de bdd
Creation d'un planlogiciel de creation de site.
creation d un compteur en jspProblemes Creation site Internet
[Perl] Création d'un script CGI quels modules utiliser?[LDAP] Création d'usager Java ou Perl?
[C/unix][Perl][Lex/Yacc][X] Creation d'une communaute Epitech2[perl/php] création d'index ??
Plus de sujets relatifs à : [Perl] Création d'un top 10


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR