﻿#!/usr/bin/perl

open(FICCORDIAL, "$ARGV[0]");
$i=0;
while (<FICCORDIAL>) {
	$ligne=$_;
	chomp $ligne;
	# next if ($_!~/\r/ | /"/); pour ne pas  lire les \r et les "
	if ($ligne !~ /PCT/)
	{
		@decoupeligne=split(/\t/, $ligne);
		#$ligne=~/(\w+)\t(\w+)\t(\w+)/ autre façon de récupérer la 1ere col de la 1ere ligne, la 2e col de la 1ere ligne, la 3e col de la 1ere ligne et ainsi de suite
		push (@token, $decoupeligne[0]); 
		push (@lemme, $decoupeligne[1]);
		push (@pos, $decoupeligne[2]);
		$i++;
		}
	else
	{
		
		# traitement des listes prochainement
		open (FICPATRON, "$ARGV[1]");
		$compare=join("\t",@pos);
		while (<FICPATRON>)
		{
			my $ligne1=$_;
			chomp $ligne1;
		
			#pour compter le nombre de tabulation entre $avant et $après
			my $j=0;
			my $k=0;
			while ($compare =~/$ligne1/g) 
			{
				my $avant = $`;
				my $apres = "$'";
				while ($avant =~/\t/g){$j++};
				while ($apres =~/\t/g){$k++};
				print "@token[$j..$i-$k-1]\n"; #on commence par $j puisque avec join, on compte la tabulation avant, donc 
				$j=0;
				$k=0;
				#print "correspondance OK $i \n";
				#$i++;
			}
		}
		#il faut vider la liste, donc
		@token=();
		@lemme=();
		@pos=();
		$i=0;
	}
}
close(FICCORDIAL);
