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.
In the absence of evidence, opinion is indistinguishable from prejudice.
|