#!/usr/bin/perl
open(FILEIN,"$ARGV[0]"); 
# on ouvre le fichier qu'on va lire
open(FILEOUT, ">Resultat2-1.txt"); 
# on ouvre le fichier dans lequel on va écrire
$i=0;
$a=0;
$j=0;
$p=0;
$c=0;
%tableaudesbebes=(); 
#pour mémoriser ce qu'on a déjà imprimé, 
#pour éviter d'incrémenter deux fois pour le même bébé
%tableaudesinfirmieres=(); 
#pour mémoriser ce qu'on a déjà imprimé, 
#pour éviter d'incrémenter deux fois pour la même infirmiere
while ($ligne = <FILEIN>){ #tant qu'il y a quelque chose à lire
# -------------------- nbre de bébés et d'infirmières concernées ---------------------------------------------------------------
	if ($ligne=~/contact.*(<BEBE>[0-9]+)/) { 
	#si il y a le mot contact et la balise <BEBE> dans la ligne
		$bebe=$1; #on met <BEBE>[0-9]+ dans le motif
		if (exists($tableaudesbebes{$bebe})) { 
				} # on n'incrémente pas $i
				else { 
				#on entre dans cette boucle si il n'existe pas encore
				$i++; # on incrémente le compteur
				$tableaudesbebes{$bebe}++; 
				#on incrémente pour dire qu'on a déjà rencontré ce texte 
					}
	}
	if ($ligne=~/contact.*(<INFIRMIERE>[0-9]+)/) { 
	#si il y a le mot contact et la balise <INFIRMIERE> dans la ligne
		$infirmiere=$1; #on met <INFIRMIERE>[0-9]+ dans le motif
		if (exists($tableaudesinfirmieres{$infirmiere})) { 
				} # on n'incrémente pas $a
				else { 
				# on entre dans cette boucle si il n'existe pas encore
				$a++; # on incrémente le compteur
				$tableaudesinfirmieres{$infirmiere}++; 
				#on incrémente pour dire qu'on a déjà rencontré ce texte
					}
	}
		$ligne=~s/<[^<]+>.//g; #nettoie
		$ligne=~s/<[^<]+>//g; #nettoie
		$ligne=~s/[0-9].[0-9]//g; #nettoie
		$ligne=~s/[0-9]//g; #nettoie
		$ligne=~s/,//g; #nettoie
# ---------------------------- contextes singulier ou pluriel ---------------------------------------------------------------
		@tableau=split(/\./,$ligne); 
		#on découpe les phrases en utilisant le '.' comme séparateur
		$j=0;
			while ($j<=$#tableau){ 
		#tant qu'on n'est pas arrivé à la dernière phrase de la ligne
			if (($tableau[$j]=~/contact$/)||($tableau[$j]=~/contact /)){ 
			#si on trouve contact suivi d'un espace 
			#ou à la fin d'une ligne
					$tableau[$j]=~s/	/ /g; 
					#on fait un peu de nettoyage
					print FILEOUT "Contexte singulier :$tableau[$j]\n"; 
					}
				if ($tableau[$j]=~/contacts/) { 
				# si on trouve contact au pluriel
					print FILEOUT "Contexte pluriel :$tableau[$j]\n";
					}
		$j++; #on incrémente pour passer à la phrase suivante
			}
}
print FILEOUT "\nIl y a $i bébés pour lesquels on parle de contact\n";
print FILEOUT "Il y a $a infirmières qui parlent de contact\n";
close(FILEIN); # on ferme le fichier en lecture
close(FILEOUT);# on ferme le fichier en sortie	

