occurrenc d'un mot dans un fichier - Perl - Programmation
Marsh Posté le 03-12-2018 à 18:28:50
J'ai pas testé mais je ferais
1)
while (my $word = <$keywords> ) {
chomp $word;
next if $word =~ /^\s*$/;
$words{$word} = 1;
}
2)
$freq{$word}++ if $words{$word};
A+,
Marsh Posté le 04-12-2018 à 08:24:19
Bonjour,
Merci beaucoup pour votre réponse,
j'ai modifié le code mais le résultat est faux , pouvez vous m'aider à résoudre le problème
Code : |
Marsh Posté le 04-12-2018 à 08:25:38
Bonjour,
Merci beaucoup pour votre réponse,
j'ai modifié le code mais le résultat est faux , pouvez vous m'aider à résoudre le problème
Code : |
Marsh Posté le 04-12-2018 à 08:39:20
Bonjour,
Merci beaucoup pour votre réponse,
j'ai modifié le code
Code :
|
j'ai ce message : Use of uninitialized value in concatenation (.) lorsque un mot dans keywords.txt n'existe pas dans search.txt
Marsh Posté le 04-12-2018 à 16:21:58
Citation : $words{$word} = 0; |
C'est sur que si tu appliques pas ce que je dis...
Moi, j'ai pris ce code, j'ai reporté ce que j'ai dit:
Code :
|
et ça marche.
C:\perl>perl enis.pl |
A+,
Marsh Posté le 02-12-2018 à 21:20:01
Bonjour,
mon objectif est de calculer l'occurrence d'un ensemble des mots ( se trouvant dans un fichier keywords.txt ) dans un fichier nommé search.txt'
voici le code que j'ai essayé
[perl]
#!usr/bin/perl
use strict;
use warnings;
#Lexical variable for filehandle is preferred, and always error check opens.
open my $keywords, '<:utf8', 'keywords.txt' or die "Can't open keywords: $!";
open my($file), '<', 'search.txt';
my %words; # hachage de compteurs
while (my $word = <$keywords> ) {
chomp $word;
next if $word =~ /^\s*$/;
$words{$word} = 0;
}
close $keywords;
my %freq;
#Afficher le fichier
while( my $line = <$file> ) {
chomp($line) ;
foreach my $word (split(' ', $line)) {
$freq{$word}++;
}
}
#Afficher les mots en ordre
foreach my $word (sort keys %freq) {
print "$word $freq{$word}\n";
}
[/perl]
mais le code calcule la fréquence d'apparition des mots se trouvant dans search.txt' alors comment je peux faire un match pour calculer la fréquence d'apparition des mots se trouvant dans keywords.txt
search.txt ==>
red green yellow blue red
red red yellow
yellow green blue blue green
green red
keywords.txt ==>
red
green
blue
Merci beaucoup d'avance