in reply to Re^2: Prob with 'while' loop and subroutine calling
in thread Prob with 'while' loop and subroutine calling

while ($incEnergy > $minEnergy)
In that while loop there is:
$incEnergy = $incEnergy+$scale;
So presumably, incEnergy will grow until it is larger than minEnergy(update: incEnergy will shrink until its less than minEnergy), and the while loop will terminate eventually if $scale is greaterless than zero. But you have:
$scale = ($minEnergy-$maxEnergy)/5;
Which is greater? min or max? Normally I'd think the max would be greater, so scale would be negative, and you may have an infinite loop. If the code is correct, then it is confusing. Nevermind. But at least it answers your question on how the loop terminates.
Global symbol "$x1" requires explicit package name at monk_graph.pl line 150.
I assume that is supposed to be "@x", not "@$x1" in the code.