in reply to Top level my vars and their global use in a file

I don't consider the label important. A non-global used as a global has the issues of a global. See Pass by reference vs globals for more on this. In particular it expresses some of my thoughts on what is bad (and not always so bad) about globals.

As I am fond of saying, knowing what the rule officially is is not as important as knowing why that rule evolved and what the tradeoff is. There is always a tradeoff.

BTW Code Complete has an excellent discussion on global variables.