in reply to Re^4: how to declare a package variable
in thread how to declare a package variable

the second variant doesn't create a lexical.

Neither does the first!

our only gives lexical visibility; not a true lexical variable.

Ie. With my, it creates an entirely new variable at each level of scope:

my $a = 123; { my $a; print $a; ## produces "Use of uninitialized value $a in print ... +" because the above new $a is entirely new; thus uninitialised. } print $a;; ## prints: 123

However, our only gives lexically scoped access to a single variable:

our $a = 123; { our $a; ## produces ""our" variable $a redeclared at ..." referenc +es the same variable as the first our $a print $a; ## prints 123 ## New scope, same variable, existing valu +e. } print $a;; ## prints 123

With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority". I knew I was on the right track :)
In the absence of evidence, opinion is indistinguishable from prejudice.