Bonjour,
J'ai un petit soucis de boucle infinie que je n'arrive pas à résoudre...
après quelques tests, il semblerait que la boucle while ne se finisse jamais...


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
 
for (my $i=0; $i<@tab_aff; $i++){
    $name_aff=$tab_aff[$i];
    $affinity=$tab_aff[$i+2];
 
    for (my $j=0; $j<@tab_ener; $j++){   
    $name_ener=$tab_ener[$j];
    $nrj=$tab_ener[$j+1];
 
    if ($name_aff eq $name_ener){
        if (($affinity =~ /[0-9]/g) && ($affinity>30)){
 
        while ($name_ener eq $name_aff){
            $ener_tab=$tab_ener[$j+1];
            $j+2;
            $name_ener=$tab_ener[$j];
            $cmpt++; 
 
            if ($nrj<$ener_tab){
            $ener_tab=$nrj;
            $ener_tmp=$ener_tab;
            }
            else{
            $nrj=$ener_tab;
            $ener_tmp=$nrj;
           }
        }
 
 
        if ($cmpt==1){
            $ener_tmp=$ener_tab;
            print (OUT $name_aff." ".$ener_tmp." ".$affinity);
 
        }
        else {
            print (OUT $name_aff." ".$ener_tmp." ".$affinity);
        }
        $cmpt=0;
 
        }
    }
    $j++;
    }
 
    $i=$i+2;
 
}