wiki:InsiaProgPerlTp3

Sommaire

TP3 - Lecture de fichier (hashes)

Ces exercices doivent être effectués en mode strict et avec les warnings:

#!/usr/bin/perl -w

use strict;
...

Statistiques textuelles (2)

Nous allons analyser la fréquence des mots dans un article extrait du journal "Le Monde" (source:/insia/perl/tp3/article.txt). Reprenez la structure de la boucle while utilisée dans le TP2, et calculez la fréquence d'apparition de chaque mot - indépendemment de leur casse (minuscule/majuscule). Exemple d'utilisation:

$ ./motfreq.pl <article.txt 
ne: 5
forme: 1
tr: 1
syndicat: 3
performances: 2
...

Pour distinguer les mots, vous pouvez utiliser l'expression régulière /\W+/ pour les séparer. Prenez soin de ne pas prendre en compte les mots vides. Puis:

  • Affichez le résultat trié par ordre alphabétique
  • Affichez le résultat trié par fréquence (descendante)
  • Limitez cet affichage aux 10 premiers éléments de la manière la plus simple possible

Analyse de logs

Vous allez analyser le contenu du log source:/insia/perl/tp3/access.log.gz, en invoquant par exemple votre programme de cette façon:

$ zcat access.log.gz | ./webstat.pl

Trouvez une méthode pour séparer les informations d'une ligne de log en les stockant chacune dans une variable ($ip, $request, $status, $size, etc...). Une expression régulière est fortement recommandée. Puis:

  • calculez le nombre d'adresses IPs uniques des visiteurs du site
  • calculez la répartion des requêtes suivant les types de clients, en se basant sur les mots-clés "Linux", "Windows" et "bot".
Last modified 13 years ago Last modified on Jan 22, 2007, 10:28:41 PM