Bonjour,
Alors voilà j'ai un fichier txt et j'aimerai compter les occurrences d'un mot particulier. J'ai créé (avec l'aide de mon professeur) ce programme qui permet de compter toutes les occurrences dans le txt mais j'aimerai inclure un mots en particulier et je n'y arrive pas. Voici mon code actuel:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#!/usr/bin/perl
 
use strict;
use warnings;
use utf8;
 
binmode(STDOUT,':utf8'); # utf8 pour la sortie standard
 
# lecture de la stop-list
 
my %stop = ();
open(IN,'stop.txt');
binmode(IN,':utf8');
while (my $mot = <IN>) {
	chop $mot;
	$stop{$mot} = 1;
}
close(IN);
 
 
# parcours du corpus
 
open(IN,'Gatsby.txt');
binmode(IN,':utf8');
 
# tableau associatif pour stocker les mots
my %compteurs = ();
 
while (my $ligne = <IN>) {
 
    chop $ligne; # on enlève le passage à la ligne
 
    if ($ligne =~ /^[^{]/) {
 
        my $ligne = "\L$ligne";
 
        # sauvetage des expressions
        $ligne =~ s/mise en place/miseXenXplace/g;
        $ligne =~ s/gestion de projets?/gestionXdeXprojet/g;
 
        my @mots = split(/[\W\d]+/,$ligne);
        foreach my $mot (@mots) {
            if (($mot ne '') && (!exists($stop{$mot}))){
                # on crée une case étiquetée par le $mot
                # et au contenu quelconque
                # sans cette ligne le tableau reste vide
                # $compteurs{$mot} = 1;
 
                if (exists($compteurs{$mot})) {
                    $compteurs{$mot} = $compteurs{$mot}+1;
                } else {
                    $compteurs{$mot} = 1;
                }
            }
        }
    }
}
 
# affichage du vocabulaire par ordre alphabétique
#use locale;
#foreach my $mot (sort keys %compteurs) {
#    print "$mot\n";
#}
 
# affichage mots et compteurs
foreach my $mot (sort { $compteurs{$a} <=> $compteurs{$b} } keys %compteurs) {
    #if (!exists($stop{$mot})) {
    print $compteurs{$mot};
    $mot =~ s/X/ /g;
    print " $mot\n";
    #}
}
Voilà, j'espère que quelqu'un pourra m'aider!