Bonjour
je suis une debutante en perl et je voudrais de conseils par rapport à un problème d'affichage de resultats.
Le script trouve de mots dans de textes indentifiés par un numero id et le but est d'afficher le numero id et à son coté 1/0 (oui/no) si les mots cherchés sont trouvés dans le text ou pas.
Les textes sont en italien,
je vous en écris un exemple:
avec la premiere partie du script on ouvre un fichier qui contient la tokenisation de textes et chaque mot est mit dans un array (dans ce cas @forme)162545185920778240 Governo Monti: decreto in cdm per approvazione! http://fb.me/1bj50bZI9*
192902763032743936 #Ferrara critica #Grillo perché dice cose che dicevano Berlusconi e Bossi. E che non hanno fatto.
195604733296254977 #Grillo contro #Napolitano: "Presidente della Repubblica? No, presidente dei partiti" http://video.repubblica.it/edizione/...3669?ref=twh*…
la deuxieme partie est la suivante qui cherche les mots, en ce cas "Governo":
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 my $i=0; my $mot_trouv=0; foreach (@forme){ if ($forme[$i] =~ /^\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d$/){ # on cherche le numero identifiant if ($mot_trouv != 0){ # et chaque fois qu on le trouve on affiche les resultats oui/no print OUT "\"", $forme[$i], "\"", ",\t\"1\"", "\n"; } else { print OUT "\"", $forme[$i], "\"", ",\t\"0\"", "\n"; } $mot_trouv=0; } elsif ($forme[$i] eq "Governo" ){ #mot cherché "Governo" $mot_trouv++; } $i++ } close OUT;
Les resultats de ce script sont:
et comme on peut voir le resultat du premier text est affiché à coté du deuxieme
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 "162545185920778240", "0" "192902763032743936", "1" "195604733296254977", "0"
quel est l'erreur?
merci en avance
Partager