Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

(jeffa) 3Re: Whether to use local()

by jeffa (Bishop)
on Mar 15, 2002 at 23:11 UTC ( [id://152106]=note: print w/replies, xml ) Need Help??


in reply to Re: (jeffa) Re: Whether to use local()
in thread Whether to use local()

Ahhhh, i am starting to see now:
  • my declares a local variable which is not found in a package's symbol table
  • a local var does show up in the symbol table, but if you use strict, then you have to fully qualify the variable name (that is, prefix the package name)
  • our handles the strict vs. non-fully qualified local vars
perrin pointed me to CPAN and the Devel::Symdump module. Here is another snippet to help explain:
#!/usr/bin/perl #use strict; use Devel::Symdump; my $obj = Devel::Symdump->new('Foo'); print map {"$_\n"} $obj->scalars; package Foo; local $Foo::qualified; local $unqualified; our $our; my $my;
Which (without use strict) produces this ouput :
Foo::qualified
Foo::our
Foo::unqualified 
If strict is turned on, then $unqualified will cause a compliation error. I think i get it now! :)

Thank you tachyon, perrin, and also rob_au for pointing out What is it adding to my symbol table?.

jeffa

L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
(the triplet paradiddle with high-hat)

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://152106]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others studying the Monastery: (4)
As of 2024-04-24 02:55 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found