Problème de boucle infinie...
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:
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;
} |