1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| open my $DICO3, "<", $fichier3 or die "ouverture impossible de $fichier3 $!";
my @rules;
while (my $line = <$DICO3>) { # chargement des règles dans le tableau @rules
my ($rule, $values) = split /:/, $line;
my ($rule_fr, $rule_en) = split /->/, $rule;
s/\s+$// for ($rule_fr, $rule_en); # retirer espace à la fin des deux règles
s/^\s+// for ($rule_fr, $rule_en); # retirer espace au début des deux règles
push @rules, [$rule_fr, $rule_en, $values];
}
close $DICO3;
open(DICO1, "$fichier1")|| die "Problème d'ouverture : $!"; #fichier fr
open(DICO2, "$fichier2")|| die "Problème d'ouverture : $!";#fichier en
open(DICO4, ">$fichier4")|| die "Problème d'ouverture : $!";#fichier résultat
while (my $ligne=<DICO1>) {
my $ln=<DICO2>; # parcourir le fichier en
foreach my $record (@rules) {
if ( $ligne =~ / $record->[0]/ and $ln =~ /$record->[1]/) {
print DICO4 "$record->[0] -> $record->[1] : $record->[2]";
}
}
} |
Partager