#!/usr/bin/perl
<<DOC; 
Votre Nom : Chunxiao YAN 
 mars 2015
 usage : perl extratoutenun.pl repertoire-a-parcourir fichier-patrons
 
DOC

opendir(DIR,"$ARGV[0]");
open(PATRON,"$ARGV[1]");
my @listefichiers = readdir(DIR);
closedir(DIR);
#print @listefichiers;
#creer une  rep de sortie
my $repsortie="SORTIEPATRON";
mkdir($repsortie) or die ("Probleme avec la creation du repertoire de $repsortie, verifier s'il en existe deja une");

#lire des patrons
my $termes=<PATRON>;
chomp($termes);
#lire ligne par ligne 
my @listepatron=split(/ /,$termes);
print @listepatron;
#$listepatron[0],listepatron[1],listepatron[2].........
$len=scalar(@listepatron);
#traitement de chaque fichier dans le repertoire

foreach my $fichier (@listefichiers) {
    next if $fichier =~ /^\.\.?$/;
    print $fichier;	
    if ($fichier=~/treetagger.xml$/) {
	$fichier2 = $ARGV[0]."/".$fichier;
	print $fichier2;
	#exit;
	open(FILE,$fichier2);
	my $output=$repsortie."/".$fichier."extrapatron.txt";
	if (!open (OUT,">",$output)) { die "Pb a l'ouverture du fichier $output1"};
	my @lignes=<FILE>;
	close(FILE);
	while (@lignes) {
		my $ligne=shift(@lignes);
		#print $ligne;
		#on lit une premiere ligne et on le vire dans la liste
		chomp $ligne;
		my $sequence="";
		my $longueur=0;
		my $lignepatron=$ligne;
		my $extraitpatron;
		my $cpt=0;
		foreach my $etik (@listepatron) {
			if ($lignepatron =~ /<element><data type=\"type\">$etik<\/data><data type=\"lemma\">[^<]+<\/data><data type=\"string\">([^<]+)<\/data><\/element>/){
			#on prend le premier element de la ligne qui contient un $etik
				my $forme=$1;
			#print $forme,$etik,"\n";
				$sequence.=$forme." ";
				$longueur++;
			#print $longueur." \n";
				$lignepatron=$lignes[$cpt];
				$cpt++;
			}
	 }
		if ($longueur == $len) {
		#print $sequence,"\n";
		$extraitpatron.=$sequence."\n";
		}
print $extraitpatron;
print OUT $extraitpatron;
 
}

close(OUT); 
	
	}
}



