Objectif

Thème : Construction de dictionnaires

Exercice

Ecrire un programme Perl qui lit un texte passé en paramètre et en fait les dictionnaires alphabétiques et par occurrence.

Script

Le script prend en entrée un fichier au format texte (fichier.txt) et produit en sortie deux dictionnaires (fichier-dicodoccurrences.txt et fichier-dicoalphabetique.txt), il donne également à l'écran un extrait de ces dictionnaires (image cliquable) :


La création des dictionnaires est basée sur la construction d'une table de hachage dans laquelle les mots sont les clefs et les nombres d'occurrences sont les valeurs. Il suffit ensuite d'opérer un tri différent sur les éléments de la table pour constituer les deux dictionnaires différents (fonction sort sur les clefs pour le dictionnaire alphabétique, sur les valeurs avec une comparaison pour le dictionnaire d'occurrences)

>> Voir le script (commenté)

NB : lorsqu'on travaille sous Windows mais sur la console Cygwin, un dos2unix sur le fichier d'entrée est nécessaire, sinon on peut chercher longtemps les expressions régulières les plus farfelues pour se débarrasser des lignes vides/retours chariots... (merci M. Fleury)

Résultats

On obtient, par exemple, sur le chapitre XIV du Petit Prince (petitprince.txt) les dictionnaires suivants :

>> Dictionnaire par occurrences
>> Dictionnaire alphabétique

haut de la page