#!/usr/bin/perl -w #ouverture d'un fichier en lecture, référencé par FILE en position 0 dans cygwin béta 20. open(FILE,"$ARGV[0]"); #ouverture d'un fichier en écriture, référencé sous le nom OUT open(OUT,">resultat.txt"); #on crée un tableau vide qui s'appelle dico %dico=(); #tant qu'il y a des lignes à lire dans le fichier de lecture, on fait: while ($l = ) { #on sépare les lignes du fichier par le séparateur [\W]. Le séparateur va découper les mots du fichier qui seront stockés dans un tableau @motsparligne my @motsparligne=split(/[\W]/,$l); #pour chaque mot dans le tableau @motsparligne foreach my $mot (@motsparligne) { #on incrémente les mots du dictionnaire $dico{$mot}++; } } #tant que le mot et le nombre renvoie à chaque fois dictionnaire, on fait while ( ($mots, $nombre) = each (%dico)){ #on affiche en sortie le mot, suivi des ":" et suivi du nombre de fois que le mot apparait dans le dictionnaire print OUT $mots, ":", $nombre, "\n"; } # on ferme le fichier en lecture close(FILE); # on ferme le fichier en sortie close(OUT);