# Fréquences des mots
# Afficher une liste des mots d'un état quelconque du corpus Prématurés en ordre alphabétique :
	### Combien de types de mots différents il y a dans le texte ?
	
use locale;
open (FILEIN, "dico.txt"); 	# ouverture du fichier sur lequel on travaille en lecture
open (FILEOUT, ">listealphabetique.txt");
%listealphabetique = ();

 while ($ligne = <FILEIN>) {	# Lire toutes les lignes du fichier dico.txt
    if ($ligne=~/^(\w+) ([0-9]+) *$/) {	# si la ligne ressemble à ça : "chaine de caractère - espace - nombre". La première parenthèse correspond à $1, la seconde à $2, etc = on construit le mot et sa fréquence
	#print $ligne;
	$mot=$1; 	# on associe les mots à la variable $1 (première parenthèse de l'expression régulière)
	$freq=$2;	# on associe les mots à la variable $2 (deuxième parenthèse de l'expression régulière)
	$listealphabetique{$mot}=$freq; 	# la clé de la table de hachage "listealphabetique" $mot on lui associe sa fréquence
	}
}

@lesmots = keys(%listealphabetique);	# cette fontion permet de mettre les clés dans le tableau @lesmots
@lesmots = sort (@lesmots); 	# la fonction "sort" permet de trier les clés du tableau par ordre alphabétique

foreach my $mot (@lesmots) {	# on utilise toujours l'expression avec "foreach" pour lire un tableau
		print FILEOUT "MOT : $mot	FREQUENCE : $listealphabetique{$mot} \n";		# on écrit dans le tableau @lesmots chaque mot et sa fréquence correspondante
		}
		
$nbmots = $#lesmots+1; # ceci permet de compter la longueur du tableau et donc le nombre de mots 
print "il y a $nbmots types de mots differents dans ce corpus";
	
close(FILEOUT);
close(FILEIN);

