Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re: How to access outside variable

by lyklev (Pilgrim)
on Jan 21, 2011 at 12:11 UTC ( #883518=note: print w/replies, xml ) Need Help??


in reply to How to access outside variable

The solution to your problem is by making the outer scoped variable a package variable using our, and referring to it using the implicit main package. The nested variable is a local variable using my. The full routine then becomes

#!/usr/bin/perl use strict; use warnings; our $a = 10; { my $a = 11; print $a, "\n"; # prints the local variable print $main::a, "\n"; # prints the package variable }

That said, it is also a trick question during your interview, as you mentioned. Choosing $a or $b for a local variable is always bad, because they are used by sort which means they are somewhat special and can cause strange behaviour.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (6)
As of 2018-12-12 17:06 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    How many stories does it take before you've heard them all?







    Results (60 votes). Check out past polls.

    Notices?
    • (Sep 10, 2018 at 22:53 UTC) Welcome new users!