extract-patron-cordial-nom-prep-nom.pl

#!/usr/bin/perl -w
##On lance comme cela: perl extract-patron-cordial-nom-prep-nom.pl culture-un.cnr > culture-c-NOM-PREP-NOM.txt
##On lance comme cela: perl extract-patron-cordial-nom-prep-nom.pl livres-un.cnr > livres-c-NOM-PREP-NOM.txt
use locale; #caracteres accentues
open(FILE,"$ARGV[0]");
#--------------------------------------------
# le patron cherché ici est du type NOM ADJ";
# le modifier pour extraire NOM PREP NOM
#--------------------------------------------
my @lignes=<FILE>;
close(FILE);
while (@lignes)
{
my $ligne=shift(@lignes);
chomp $ligne;
my $sequence="";
my $longueur=0;
if ( $ligne =~ /^([^\t]+)\t[^\t]+\tNC.*/)
{ #recherche tous les noms
my $forme=$1; #récupère les formes des noms
$sequence.=$forme;
$longueur=1;
my $nextligne=$lignes[0];
if ( $nextligne =~/^([^\t]+)\t[^\t]+\tPREP.*/)
{
my $forme=$1;
$sequence.=" ".$forme;
$longueur=2;
my $nextligne=$lignes[1];
if ( $nextligne =~ /^([^\t]+)\t[^\t]+\tNC.*/) {
my $forme=$1;
$sequence.=" ".$forme;
$longueur=3;
}
}
}
if ($longueur == 3) { #test: est-ce q j'ai réussi à construire une séq nom adj ?
print $sequence."\n";
}
}