http://qs1969.pair.com?node_id=149641


in reply to Re: Re: Help needed understanding global variables in Perl
in thread Help needed understanding global variables in Perl

It seems you are completely correct. I was under the distinct assumption that defining a variable in a scope (aka declaring) trough the use of our, lifted that variable out of the scope and accesible for other scopes. This seems only trough when using no strict 'vars' (but that would not be nice).

<off-topic>
  Does it matter whetter we call 'this' defining or declaring? I know the difference between the two, and if you are a nice perl -wT && strict programmer you define and declare all at once, to prevent warnings.
</off-topic>

Your snippet leads to the suspicion that more evil-hack's are possible with perl, then I so far realized.
I off course tested your snippet, and it works prima!
However if you would add these lines:
package not_main; { print $foo; print $main::foo; print "\n"; } package main;
It would _still_ work fine. This puzzles me. (Why one would define more packages inside one script puzzles me as well)

As you I was somewhat confinced that I knew the language and the behavior of the interpreter by now. This has once again proofed me wrong, and that is what keeps perl interesting!

And then, last but not least: thnx 4 ur reply ;-)

A righthanded-lefthand....
"Field experience is something you don't get until just after you need it."