Bonjour,

Pour me faciliter la tâche dans la rédaction de mon mémoire, j'ai décidé d'écrire un petit script Perl permettant de fournir les synonymes d'un mot entré en console.

Cependant, lors de l'entrée clavier du mot recherché, la console remplace les accents par les caractère 'C)' et cela limite ma recherche à tous les mots sans accents.
C'est assez limitatif ...

Pourriez-vous m'aider ?

Voici mon code :
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
use strict;
use warnings;
 
 
 
my %hash_dico;
 
open(IN, "<", "thes_fr.dat") || die ("Erreur lecture");
 
my $count = 0;
my $final = 72422;
 
my $ligne1;
my $ligne2;
 
 
while(<IN>){
 
	chomp;	
	my $ligne = $_;
 
	if($ligne =~ /\|1$/){
		$ligne =~ s/\|1//;
		$ligne1 = $ligne;
	}
	else{
		$ligne2 = $ligne;
 
		if($ligne1){
			$hash_dico{$ligne1} = $ligne2;
		}
	}
 
	$count++;
#	print $count . "/" . $final . "\n";
}
 
close(IN);
 
 
 
print "Dico synonyme opérationnel\n";
 
while(<STDIN>){
	my $input = $_;
	chomp $input;
 
	if(exists $hash_dico{$input}){
		my $output = $hash_dico{$input};
		print $output . "\n";
	}
	elsif($input eq "clear"){
#		print "\033[2J";
	}
	else{
		print "Introuvable dans le dictionnaire\n";	
	}
}
Voici mes locales :
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
LANG=fr_FR.UTF-8
LANGUAGE=
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=
J'utilise une variante de Ubuntu.

J'ai pourtant essayé avec le classique
Ou encore le fameux
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
    binmode(STDIN, ":utf8");
Mais rien n'y fait.

Avez-vous une idée??

Merci