Bonjour,
Je souhaite tester si tous les mots d'un fichier existent dans un deuxième fichier.
J'ai inséré tous les mots de chaque fichier dans un tableau.
1er fichier:
J'ai utilisé grep mais c'est une fonction lourde.. en plus elle ne m'affiche pas les mots contenant certains caracteres comme le $ par exemple..
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 open $fic,'<',$dico or die "fichier non ouvert\n"; # je stocke les mots du dictionnaire dans un tableau while (<$fic>) { for $e(split){ $e=~s/ //g; push @dico_words,$e; } } close $fic; @que_dans_dico{@dico_words}=(); 2eme fichier: open ARA, "".$mytrad."" or die "$mytrad does not exist"; @allMots=(); while ($line =<ARA>) { $line=~s/\n//g; @mots = split (/ /,$line); foreach $mot (@mots){ push(@allMots,$mot); } } close ARA; print "mots qui n'existent pas \n"; foreach $mot(@allMots){ if ( grep( /^$mot$/,@dico_words ) ) { print "Matched $mot\n"; } else { print "Not Matched $mot\n"; } }
Est ce que qq'un a une meilleure idée de recherche de mots d'un fichier dans un autre fichier?
Merci
Partager