#!/usr/bin/perl ###BAO3 : extraction de patrons sur sorties cordial ###d'un coté : ###fichier avec annotations cordial ###d'un autre : ###fichier avec les POS qui nous interresse : ###DET NOM ###NOM DET NOM ###etc... ### lancement du programme : perl BAO3extrac_patron.pl sortie_CINEMA_iso.cnr patron.txt open (TEXTE, "$ARGV[0]"); ###fichier issu de cordial : premier argument du script while (my $ligne=) { ###lecteur du fichier ligne à ligne if ($ligne=~/\t/) { ###on ne traite que les ligne qui contiennent des tabulations, issues de cordial chomp($ligne); $ligne=~s/\r//; my@liste=split(/\t/, $ligne); ###on découpe la ligne sur les tabs et on a donc un liste de 3 éléments (TOKEN,LEMME,POS) ### ca donne : $liste[0]<-forme, $liste[1]<-lemme, $liste[2]<-POS if ($liste[2] !~/PCTF/) { push (@token, $liste[0]); push (@lemme, $liste[1]); push (@POS, $liste[2]); } else { # print "@token \n"; # print "appuie sur return pour continuer"; # my $rep1=; # print "@lemme \n"; # my $rep2=; #####Pour trouver les patrons des phrases averbales : ============ #my$text=join("_",@POS); #if ($text!~/_V/) { #print "@POS \n"; #my $rep3=; #} ======= my $suitedepos=join(" ",@POS); #print $suitedepos,"\n"; open(PATRON, $ARGV[1]); ### le fichier patron est le second argument du script while (my $patron=) { chomp($patron); #my $rep3=; $patron=~s/\r//; my $compteur=0; while ($suitedepos=~/$patron/g) { $compteur++; print "sur $suitedepos je cherche $patron \n : il y a $compteur correspondance(s) \n"; my $avant = $`; my $j=0; while ($avant=~/ /g){ $j++; } print "Voici la suite avant la correspondance : $avant\n"; print "Voici POS : $suitedepos \n"; print "Voici patron : $patron \n"; print "return !!!\n"; #my $rep3=; my $k=0; while ($patron=~/ /g){ $k++; } print "@token[$j..$j+$k]\n"; my $OUT="SORTIE_patron_cordial_".$patron."_.txt"; open (OUT, ">>:encoding(UTF8)",$OUT) or die "Pb a l'ouverture du fichier $OUT"; print OUT "@token[$j..$j+$k]\n"; #my $rep3=; } } close (PATRON); #########Ensuite, il faut vider les listes : @token=( ); ### liste vide : (); @lemme=( ); @POS=( ); } } } #### variables par défaut pour ce qui vient avant : $`qui match $& qui suit $'