open(FILE,"$ARGV[0]"); #-------------------------------------------- # le patron cherché est NOM PRP NOM #-------------------------------------------- my @lignes=<FILE>; close(FILE); while (my $ligne=shift(@lignes)) { chomp $ligne; my $sequence=""; my $longueur=0; if ( $ligne =~ /<element><data type=\"type\">NOM<\/data><data type=\"lemma\">[^<]+<\/data><data type=\"string\">([^<]+)<\/data><\/element>/) { my $forme=$1; $sequence.=$forme; $longueur=1; my $nextligne=$lignes[0]; if ( $nextligne =~ /<element><data type=\"type\">PRP<\/data><data type=\"lemma\">[^<]+<\/data><data type=\"string\">([^<]+)<\/data><\/element>/) { my $forme=$1; $sequence.=" ".$forme; $longueur=2; my $nextligne=$lignes[1]; if ( $nextligne =~ /<element><data type=\"type\">NOM<\/data><data type=\"lemma\">[^<]+<\/data><data type=\"string\">([^<]+)<\/data><\/element>/) { my $forme=$1; $sequence.=" ".$forme; $longueur=3; } } } if ($longueur == 3) { print $sequence,"\n"; } } #cette balise tu l'avais mis au dessus de if longueur, du coup il va jamais chercher tes patrons.