The reason why graph() works is that most of the variables in that script are being treated as globals, which is a bad practice as it makes it very difficult to debug.
Everything but $minEnergy, $maxEnergy, $xYen,and $yLen are used globally within graph(). Some of these are forgiveable, as they are being treated as constants.. but anything that could be modified should be passed to the graph() sub. This includes the $im object.
I would strongly advise enabling strict and warnings. It will tell you all of the places where these variables are being used inappropriately.
It would also be good to split some of the behaviour into worker functions that encapsulate one set of behaviour.
In reply to Re: Prob with 'while' loop and subroutine calling
by imp
in thread Prob with 'while' loop and subroutine calling
by cool
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |