#!/usr/bin/perl
use locale; #fait en sorte que le \w prenne aussi les caractères accentués
#mettre le résultat de cardial
open(FICCORDIAL, $ARGV[0]);
#my: dit que la variable va être locale <va lire une ligne dans ce fichier-là>
#le while permet d'avancer dans le fichier
my $i=0;
while (<FICCORDIAL>) {
     #print "<$_>";
	 next if ($_!~/\t/);
     my $ligne = $_;
	 chomp($ligne);
     # si ma ligne ne contient pas pct
     if ($ligne !~/PCT/) {
     #$ligne = ~/(\w+)\t(\w+)\t(\wt)/;
     #\p{IsWord} marche aussi
     #au moment de
     my @decoupeligne = split (/\t/, $ligne);
     push (@token, $decoupeligne[0]); #le decoupeligne c'est le liste chez SF
     push(@lemme, $decoupeligne[1]);
     push(@pos, $decoupeligne[2]);
     $i++;
	 }
	 else {
		#print "\n Liste des POS: \n @pos \n"; #pos c'est patron chez SF
		#print "@token\n";
		#print "appuie sur return pour continuer\n";
		#my $reponse = <STDIN>;
 
		open (FICPATRON, $ARGV[1]);
		while (<FICPATRON>) {
			my $patron1 = $_;
			chomp($patron1);
			my $compare = "";
			$compare=join("\t", @pos);
			#compare =join(@pos,"\t") ;
			#print "Chaine lue: $compare \n";
			#print "Patron à chercher: $patron1 \n";
			
			my $j = 0;
			my $k = 0;
			while ($compare=~/$patron1/g) {
			#print "Correspondance OK $i\n";
			#$i++;
			my $avant = $`;
			my $apres = "$'";
			while ($avant =~ /\t/g){$j++};
			while ($apres =~ /\t/g){$k++};
			print "@token[$j..$i-$k-1]\n";
			#la longueur du morceau de phrase examinée
			$j=0;
			$k=0;
			#exit;
			}
		 }
		 close FICPATRON;
         @token = (); #D'après Sophie
         @lemme = ();
         @pos = ();
		 $i=0;
	}
}
close FICCORDIAL;