I tend to declare my variables wrt to these guidelines.
in reply to A question of style - declaring lexicals
I tend to keep away from globals unless i'm being particularly lazy, but in that case, the global is always declared at the top of the script.. :-)
- If the variable is used thru out an entire sub, I declare it at the top.
- If the variable is used exclusively within a loop, declare it inside the loop.
- If a variable will be used part way thru' the method/sub I will declare it on a line just before it is used.