#!/usr/bin/perl
#On ouvre en lecture le fichier essai.txt et on le référence sous le nom FICHIERENTREE
open(FICHIERENTREE, "essai.txt");
#On crée un compteur $compteurlignes et on l'initialise à 0
my $compteurlignes=0;
#Tant qu'on peut associer une ligne du fichier référencé sous le nom FICHIERENTREE à la variable $ligne, on exécute le bloc d'instructions
while (my $ligne=<FICHIERENTREE>) {
	#On incrémente le compteur $compteurlignes
	++$compteurlignes;
	#On supprime le dernier caractère contenu dans la variable $ligne seulement si celui-ci est un retour à la ligne
	chomp $ligne;
	#On remplace les caractères inutiles par rien
	$ligne=~s/[,.;:!?()"«»-]//g;
	#On sépare (Grâce aux espaces) les mots contenus dans la variable $ligne et on les affecte au tableau @mots
	my @mots=split(/ /,$ligne);
	#Pour chaque élément du tableau @mots qu'on affecte à la variable $mot, on exécute le bloc d'instructions
	foreach $mot (@mots) {
		#On met chaque caractère contenu dans la variable $mot dans le tableau @lettres
		my @lettres=split(//,$mot);
		#On prend l'indice du dernier élément du tableau @lettres, on lui ajoute 1 et on affecte le résultat à la variable $longueur
		$longueur=$#lettres+1;
		#On crée une boucle avec une variable $i comme compteur et qui est initialisé à 1
		#On incrémente à chaque passage ($i++) la variable $i
		#On exécute le bloc d'instructions (= Instructions contenues entre accolades) tant que la variable $i est inférieure à la valeur contenue dans la variable $longueur ($i<$longueur)
		for (my $i=1;$i<$longueur;$i++) {
			#Si l'élément $i du tableau @lettres est égal à l'élément $i+1 du tableau @lettres, on exécute le bloc d'instructions
			if ($lettres[$i] eq $lettres[$i+1]) {
				#On affecte à la variable $lettre l'élément $i du tableau @lettres
				$lettre=$lettres[$i];
				#On affiche "Dans la ligne numero ", suivi en bleu du contenu de la variable $compteurlignes, suivi de " la lettre ", suivi en rouge du contenu de la variable $lettre, suivi de " est redoublee dans le mot ", suivi en vert du contenu de la variable $mot et suivi d'un point
				#On retourne à la ligne
				print "Dans la ligne numero \033[34m",$compteurlignes,"\033[00m la lettre \033[31m",$lettre,"\033[00m est redoublee dans le mot \033[32m",$mot,"\033[00m.\n";
			}
		}
	}
}
#On ferme le fichier référencé sous le nom FICHIERENTREE
close(FICHIERENTREE);