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".