Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re: Re: Re: Help needed understanding global variables in Perl

by Sinister (Friar)
on Mar 06, 2002 at 09:27 UTC ( #149641=note: print w/replies, xml ) Need Help??


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."

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://149641]
help
Chatterbox?
[Corion]: ambrus: Oh - that one would be much harder to automate... The SYNOPSIS section should mostly be a runnable program IMO, but I write only small snippets in my documentation for single functions/methods, and creating the appropriate environment for ...
[Corion]: ... those in an automated fashion seems somewhat hard to me. Although it should do wonders for the test coverage ;)
[haukex]: Corion: I once wrote an automated thingy for that here
[haukex]: here's the code that uses it
[Corion]: haukex: Hmm - maybe I can reuse that. I see that it uses Pod::Parser, which I think was one of the more fragile parsers. But if I'm statically (re)generating the tests instead of doing that "live" on the client/tester machines, that's a much smaller...
[Corion]: ... problem space than trying to cater to all versions of Pod::Parser(s)
[haukex]: I think you're right, I think Pod::Simple is the preferred parser now

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (10)
As of 2017-02-27 12:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Before electricity was invented, what was the Electric Eel called?






    Results (385 votes). Check out past polls.