bonjour tous le monde,

Je voudrais savoir commnent récupérer la valeur d'une clé provenant d'un hash (SpecRef) sachant que je suis dans une fonction :
voici mon code, enfin un morceau :

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
 
foreach $linekmtn (@$KMTN)
        {
        	# -- One specie
 
                if ($linekmtn =~ /^\s#(\d+)#\s(\d.+)\s\{(\w.+)\}/)
                {
                        next unless exists ($SpecRef->{$1});
                        ($specie1, $val, $compound) = ($1, $2, $3);
 
 
                        foreach $data (@$allfile)
                        {
                                chomp $data;
                                next unless ($data =~ m/^(\d+\.\d+\.\d+\.\d+)\t(\w.+)\t(\w.+)\tc\t/i);
                                next if $1 ne $numEC;
 
                                ($valEC, $NameReact, $Equation) = ($1, $2, $3);
 
                                $da2 = $data;
                                $da2 =~ s/^\d+\.\d+\.\d+\.\d+\t\w.+\t\w.+\tc\t//gi;
 
                                foreach $ligne (split /;/, $da2)
                                {
                                        ($shortC,$nameC,$formulaC) = split (/\t/,$ligne);
 
 
                                        next if (($nameC eq $duplicateN) && ($val eq $duplicateV));
 
                                        &Product_Substrate($R_D,$R_Ins,$nameC,$formulaC); #envoie sur la base pour table product ou substrat
 
 
 
                                        if ($nameC eq $compound)
                                        {
 
                                               #  &Reaction_Prod_Sub($R_D2,$R_Ins2,$Equation,$NameReact,$nameC,$formulaC);
                                                print FIL "\n  $specie1 : $compound : $val" ;
                                                $duplicateN = $nameC;
                                                $duplicateV = $val;
 
                                                #-------condition-------#
 
                                                # deux conditions pour la meme espece
                                                if ($linekmtn =~ /^\s\#(\d+)\#\s(\d.*)\s\{(\w.*)\}\s\s\(\#\d+\#\s(\w.+)\<\d+\>\;\s\#\d+\#\s(\w.+)\<\d+\>\)\s/)
                                                {
                                                        $condition=$4.$5;
                                                        print FIL (" - $condition");
                                                        &R_KMP ->execute ($val,$condition,($SpecRef{$specie1}),$nameC,$formulaC);
                                                }

et lors de l'appel de ma requete j'ai besoin de la valeur de la clé, j' ai déjà utilisé cette syntaxe : $hash{$key} pour récupérer la valeur d'une clé , et ca marchait très bien jusqu'à présent... je pense qu'il s'agit d'une erreur toute bête mais je l'a trouve pas..
et j'ai bien évidemment déclaré tous ce qui est nécessaire..