Bonjour tout le monde
Je dois faire un programme qui permet d'extraire deux lignes successives selon deux conditions la première ligne contient le mot NOM et la deuxième contient le mot ADJ
par exemple:
ca doit donnerprésident NOM président
général ADJ général
force|forces ADJ force|forces
gouvernement NOM gouvernement
chef NOM chef
politique ADJ politique
océan NOM océan
et KON et
relever VER:infi relever
du PRP:det du
phénomène NOM phénomène
el VER:futu el
donc on doit extraire le NOM+ADJECTIFprésident
général
chef
politique
j'ai trouvé un code sur le net et avec des modifications il a marché mais le problème il y a des instructions que j'ai pas comprise:
ce que j'ai pas compris l'utilité des instructions suivante
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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 #!/usr/bin/perl -w my $fileName = "text.txt"; open (LOGFILE,"<",$fileName) or die "Ouverture de $fileName impossible !Erreur : $!"; print "choisis un nom de fichier pour contenir les termes extraits\n"; my $fic=<STDIN>; open(FIC1, ">$fic"); my $currentLine=""; my $previousline=""; my $nextline=""; my @liste=(); my @liste1=(); my $i=0; while (lecture()) { if ($currentLine =~/NOM/ and $nextline=~/ADJ/) { my $ligne=$currentLine; my @liste=split(/\t/,$ligne); my $ligne1=$nextline; my @liste1=split(/\t/,$ligne1); print FIC1 "$liste[0] "; print FIC1 "$liste1[0]\n"; } } close LOGFILE; sub lecture { $previousline = $currentLine; $currentLine = $nextline; if (defined($nextline = <LOGFILE>)) { chomp($nextline) } return defined($currentLine); }
merci pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $previousline = $currentLine; $currentLine = $nextline;
Partager