Voici mon dernier test :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| #! /usr/bin/perl
use strict;
use locale;
#Liste de themes dans un hash
open my $theme, "<", "listetest.txt" or die "Can't open themes.txt for reading: $!";
my %theme = map { chomp; $_ => 1 } <$theme>;
#open my $FICHIER, "<", "corpustest.txt" or die "Can't open corpustest.txt for reading: $!";
while( my $line = <STDIN> ) { #Fais défiler les lignes une par une dans la variable $line
chomp $line;
# my @mots_theme = ();
foreach my $theme (values %theme){
$line =~ s/$theme/<theme>$theme<\/theme>/g; #ajoute les balises theme
print $line; #pour vérifier que tu as bien ce que tu cherches
}
} |
Je suis passée en STDIN car j'ai remarqué qu'il me sortait un fichier vide quand je faisais
open my $FICHIER, "<", "corpustest.txt" or die "Can't open corpustest.txt for reading: $!";
Pour faire simple, j'ai testé sur ce corpus (=corpustest.txt) :
la voiture est de couleur verte
avec cette simple liste de thèmes (=listetest.txt) :
Et en sortie, je me retrouve avec :
la voiture est de couleur verte.la voiture est de couleur verte.la voiture est de couleur verte.
Comprenez-vous pourquoi ?
Merci d'avance.
Partager