{"word_count": 242, "character_count": 1760}
Voici un exemple des traitements que l'on peut réaliser (relativement) aisément avec Perl. Il s'agit ici d'un petit script permettant, à partir d'un fichier en entrée contenant plusieurs textes séparés par le symbole §, de créer un tableau au format csv contenant, pour chaque texte, le nombre d'occurrences de chaque forme.Pour commencer, il nous faut nettoyer en supprimant les majuscules et la ponctuation du texte, contenu dans la variable $texte, puis créer une liste d'occurrences des formes du texte complet, sous la forme d'une table de hachage, en utilisant une sous-routine compteur dont il sera question plus loin :$texte =~ s/\_|\t|\.|\:|\,|\;|\«|\»|\)|\(|\'|\~|’|…|\?|\n/ /g;%occurrencesTexteComplet = &#38;compteur($texte);Une fois cette tâche effectuée, nous allons maintenant séparer le texte complet, en une série de sous-textes en utilisant le symbole § :@sous_textes = split(/§/, $texte); Nous pouvons à présent comparer les listes d'occurrences de chaque sous-texte avec celui du texte complet :[caption id="attachment_56" align="aligncenter" width="500" caption="Comparaison des deux tableaux d&#039;occurrences"][/caption]Et voilà, il ne nous reste plus qu'à générer le fichier de sortie, au format csv, que l'on pourra par la suite ouvrir avec Calc (ou Excel), importer dans R, etc.[caption id="attachment_66" align="aligncenter" width="500" caption="Mise en forme du csv"][/caption]La sous-routine compteurIl s'agit d'une sous-routine que Perl rend assez simple, car c'est le type de traitement pour lequel il a été conçu. Elle compte un à un les mots d'un texte, et, à chaque fois qu'un mot réapparaît, elle ajoute 1 au compteur :[caption id="attachment_59" align="aligncenter" width="500" caption="La sous-routine compteur"][/caption]