The "problem" becomes apparent as:
A. Your scripts get bigger (my largest project currently exceeds 10,000 lines)
B. You create a library of script "snippets" that you reuse
C. You build a library of functions (UDFs) that you write, or get publicly.

In single, small scripts, it usually isn't an issue. Most of us, however, find that small scripts tend to grow, and employing good coding practices from the beginning makes the projects more managable. We also leverage UDF libraries, and indiscriminate globals tend to mess them up.

I actually started using the following format for my declarations:
 Code:
Dim $X, $I, $J         ; temporary vars
Dim $aFiles, $File     ; Array of file names & File enumeration var
Dim $Name              ; Real name of user
Global $DEBUG          ; flag indicating debug mode

Note how certain vars are defined together (temps), arrays and related index vars are paired, and global vars declared in ALL CAPS. (If their scope is VERY VISIBLE, the names should be too ;\) )

In functions that I write, I use a "$_name" format, and never use the "$_" format in front of a global, or in the main program module. On very large projects, or projects that will be publicly maintained, I use the Hungarian Variable Notation (google it) which defines standard ways to identify what kind of data will be held in a variable.

Glenn
_________________________
Actually I am a Rocket Scientist! \:D