1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| if ($#ARGV < 0) { # si on n'a pas passé d'argument au programme
# on affiche un message
die("Usage : $0 nom_fichier");
}
# ouverture du fichier ou affichage d'un message (si erreur)
open(FICH, $ARGV[0]) or die("Le fichier $ARGV[0] n'est pas accessible");
# lecture du fichier ligne par ligne
while ($ligne = <FICH>) {
chomp($ligne); # on se débarrasse des retours à la ligne
# split(' ', $ligne) retourne un tableau avec les mots de la ligne
# foreach parcours ce tableau
foreach $mot (split(' ', $ligne)) {
$compteur{$mot}++; # le tableau associatif %compteur va stocker les mots et leur nombre d'occurrence
}
}
# ne pas oublier de fermer le fichier
close(FICH);
# affichage du tableau associatif
while (($mot, $nb) = each(%compteur)) {
print "$mot apparait $nb fois\n";
} |
Partager