Renvoyer résultat dans un fichier PERL
ing888
-
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
j'ai un code perl qui lit 2 fichier un dictionnaire de la forme
1 voiture
2 maison
..
et un autre fichier séquence de la forme
1 2
2 2
..
mon code fait la correspondance des chiffres de fichier sequence avec les mots du fichier dictionnaire
donc j'ai comme resultat ca
voiture maison
maison maison
...
#!/usr/bin/env perl
use strict;
use warnings;
use autodie;
open (my $fh, "<", "dict_FR.txt" );
my %hash;
while (<$fh> ) {
if (/^\s*(\d+)\s+(.*\S)\s*$/) {
$hash{$1}=$2;
}
}
close $fh;
# maintenant %hash est un dictionnaire, de clés les codes numériques, et valeurs les mots associés.
open ($fh, "<", "seq_corpus.txt" );
while (<$fh> ) {
if (/^\s*((\d+)\s+)*\d+\s*$/ ) {
my @line = split(/\s+/, $_);
foreach (@line) {
print $hash{$_}, " ";
print "\n";
}
}
close $fh;
mon probleme que je veux stocker le resultat dans un nouveau fichier ..
qui peut m'aider ????
j'ai un code perl qui lit 2 fichier un dictionnaire de la forme
1 voiture
2 maison
..
et un autre fichier séquence de la forme
1 2
2 2
..
mon code fait la correspondance des chiffres de fichier sequence avec les mots du fichier dictionnaire
donc j'ai comme resultat ca
voiture maison
maison maison
...
#!/usr/bin/env perl
use strict;
use warnings;
use autodie;
open (my $fh, "<", "dict_FR.txt" );
my %hash;
while (<$fh> ) {
if (/^\s*(\d+)\s+(.*\S)\s*$/) {
$hash{$1}=$2;
}
}
close $fh;
# maintenant %hash est un dictionnaire, de clés les codes numériques, et valeurs les mots associés.
open ($fh, "<", "seq_corpus.txt" );
while (<$fh> ) {
if (/^\s*((\d+)\s+)*\d+\s*$/ ) {
my @line = split(/\s+/, $_);
foreach (@line) {
print $hash{$_}, " ";
print "\n";
}
}
close $fh;
mon probleme que je veux stocker le resultat dans un nouveau fichier ..
qui peut m'aider ????
A voir également:
- Renvoyer résultat dans un fichier PERL
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
1 réponse
Salut ing888,
Tu fais simplement ton open avec ">" (pour écrire en écrasant le contenu éventuel d'un fichier existant) au lieu de "<" (pour lire)
https://perldoc.perl.org/functions/open
ensuite, tu utilises le filehandle avec tes print pour y écrire et tu fermes ton filehandle avec close. Tu as un exemple complet, avec des explications très didactiques là :
https://perlmaven.com/writing-to-files-with-perl
Dal
Tu fais simplement ton open avec ">" (pour écrire en écrasant le contenu éventuel d'un fichier existant) au lieu de "<" (pour lire)
https://perldoc.perl.org/functions/open
ensuite, tu utilises le filehandle avec tes print pour y écrire et tu fermes ton filehandle avec close. Tu as un exemple complet, avec des explications très didactiques là :
https://perlmaven.com/writing-to-files-with-perl
Dal