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
|
#!/usr/bin/perl;
use warnings;
use strict;
my $fichier_en = 'title-abs-en-brut-A61K.txt';
my $fichier_fr = 'title-abs-fr-brut-A61K.txt';
my $fichier_unk = 'title-abs-unk-brut-A61K.txt';
my $fichier_corpus = 'corpus-A61K.txt';
open my $fh_corpus, "<:utf8", $fichier_corpus or die "Impossible de lire $fichier_corpus\n";
open my $fh_fr, ">:utf8", $fichier_fr or die "Impossible de lire $fichier_fr\n";
open my $fh_en, ">:utf8", $fichier_en or die "Impossible de lire $fichier_en\n";
open my $fh_unk, ">:utf8", $fichier_unk or die "Impossible de lire $fichier_unk\n";
my ( $CLASS, $TITLE, $ABS );
while ( my $ligne = <$fh_corpus> ) {
if ( ( $CLASS, $TITLE, $ABS )#anglais
= $ligne =~ /^<(.*\d+)>(?:.*)<ttp lng='eng'>(.*)<\/ttp>(?:.*)<reseng>(.*)<\/reseng>(?:.*)$/ )
{
print {$fh_en} $TITLE." ".$ABS." ".$CLASS."\n";
}
elsif ( ( $CLASS, $TITLE, $ABS )#anglais
= $ligne =~ /^<(.*\d+)>(?:.*)<ttp lng='fre'>(.*)<\/ttp>(?:.*)<reseng>(.*)<\/reseng>(?:.*)$/ )
{
print {$fh_en} $ABS." ".$CLASS."\n";
}
elsif ( ( $CLASS, $TITLE, $ABS )#francais
= $ligne =~ /^<(.*\d+)>(?:.*)<ttp lng='fre'>(.*)<\/ttp>(?:.*)<resfre>(.*)<\/resfre>(?:.*)$/ )
{
print {$fh_fr} $TITLE." ".$ABS." ".$CLASS."\n";
}
elsif ( ( $CLASS, $TITLE, $ABS )#francais
= $ligne =~ /^<(.*\d+)>(?:.*)<ttp lng='eng'>(.*)<\/ttp>(?:.*)<resfre>(.*)<\/resfre>(?:.*)$/ )
{
print {$fh_fr} $ABS." ".$CLASS."\n";
}
else {
print {$fh_unk} $ligne."\n";#pas de resume ni anglais ni francais
}
} |
Partager