That is, there globals that stick around for the life of the application and then there are "global" variables within a module with a short lifespan. CGI and web script programming is like that: it's easy to use "global" variables in PHP, but they die when the page is finished. So they only have a short lifespan, unlike global variables in more traditional languages (like C). PHP's equivalent is called session variables, but you have to make a special call to convert a global variable into a session variable. This encourages some discipline.

Despite it's other flaws, Visual BASIC was like this. Truly global variables required additional declarations, as did mere module-wide variables. Unfortunately, there was a compile-time option to disable this requirement.

Myself, I dislike long-lived, volitale global variables. If I find myself about to use them, I tend to stop and try to fix whatever's broken to require them. Not always possible, note, but I try.

Wade.