(Please do not take the following node as a personal insult. It was not meant as such.)
I must interject that this, while perfectly legal, is horrible programming practice. I've been working on ripping out globals written in exactly this fashion for the past 3 weeks on a side project I wasn't even hired to do.
Do NOT use ::
- for variable names unless there simply is not other way
- to import variables from another package
- to move variables around within a package
- to initialize variables for use in another package
Most especially, NEVER USE THEM TO GET AROUND STRICT
. Ever. Never Ever. Not even once, as a joke.
In fact, please forget that :: exists for variable names. It'll make your life so much easier in the long run, and the people who come after you who have to maintain your code will shower many blessings (instead of curses) upon your head.