#!/usr/bin/perl -w
use locale;

#Demander le nom du fichier de travail
print "Tapez le nom du fichier	";
#Metre le nom du fichier dans une variable
my $fichier=<STDIN>;
#Supprimer l'éventuel retour-chariot
chomp ($fichier);
#Ouverture de $fichier en lecture
open(ENTREE, "$fichier");
#Demander à l'utilisateur d'entrer le mot à chercher
print "Tapez le mot à chercher ";
#Mettre le mot dans une variable
my $forme=<STDIN>;
#Supprimer l'éventuel retour-chariot
chomp ($forme);
#Ouverture fichier-résultat html
open(SORTIE, ">resultat.html");
#Début du fichier html
print SORTIE "<html>\n";
# On écrit le corps
print SORTIE "<body>\n";
#Creéation d'un compeur de mots et de mots
$compteurmots = 0;
#Creéation d'un compeur de mots et de lignes
$compteurlignes = 1;
#Tant qu'il y a des lignes dans le fichier de travail
while (my $ligne=<ENTREE>) {
	#tant que l'on trouve la forme dans les lignes
	while($ligne=~/(.*)($forme)(.*)/gi) { 
		#ajouter 1 au compteur de mot
		$compteurmots++;
		#récupération contextes gauche et droit
		my $contextegauche=$1;
		my $contextedroit=$3;
		$contextegauche=~s/</&lt;/gi;
		$contextegauche=~s/>/&gt;/gi;
		$contextedroit=~s/</&lt;/gi;
		$contextedroit=~s/>/&gt;/gi;
		#écrire les résulats dans le fichier résultat
		print SORTIE "<p>",$compteurlignes,".",$contextegauche,"<b>",$forme,"</b>",$contextedroit,"</p>\n";
	}
}	
		#Si $compteur est égal à 0
		if ($compteurmots==0) {
		print "Le mot ",$forme," n'a pas ete trouvé dans le fichier ",$fichier,".\n";
		}
		#Sinon
		else {
		print "Le mot ",$forme," est present ",$compteurmots," fois dans ",$compteurlignes," lignes du fichier ",$fichier,".\n";
		}
#Ecriture fin fichier html
print SORTIE "</body>\n";
print SORTIE "</html>\n";
#Fermeture fichier résultat
close(SORTIE);
#Fermeture de $fichier
close(ENTREE);
