in reply to What does '::' mean in constructs '$::foo' and '@::foo'?
$Foo::Bar::baz refers to the package variable $baz in the namespace Foo::Bar.
Similarly, $::baz refers to the package variable $baz in the root namespace.
The default namespace, main, is an alias for the root namespace. So unless you have a package declaration changing the current namespace from the default, $::baz refers to package variable $baz in the current namespace.
Unless he used a package statement, I'm not sure why he used %::man instead of %man. My only guess is that it was to avoid the possibility of referencing a lexical (my) variable named %man by accident.
|
|---|