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

Re^2: Is 'use vars' really obsolete?

by Anonymous Monk
on Sep 18, 2017 at 23:59 UTC ( [id://1199637]=note: print w/replies, xml ) Need Help??


in reply to Re: Is 'use vars' really obsolete?
in thread Is 'use vars' really obsolete?

package Foo; our $test = 12345; package Bar; print $test; __END__ 12345

Replies are listed 'Best First'.
Re^3: Is 'use vars' really obsolete?
by AnomalousMonk (Archbishop) on Sep 19, 2017 at 00:56 UTC

    our has lexical scope.

    c:\@Work\Perl\monks>perl -wMstrict -le "{ package Foo; our $test = 12345; } ;; { package Bar; print 'fully qualified: ', $Foo::test; } " fully qualified: 12345
    Try the statement
        print 'unqualified: ', $test;
    in package Bar.

    BTW: Perl 5.14 introduced the neater (IMHO)  package NAMESPACE BLOCK syntax, so the code above could now look like

    package Foo { our $test = 12345; } package Bar { print 'fully qualified: ', $Foo::test; }

    Update: Note that package also has lexical scope!


    Give a man a fish:  <%-{-{-{-<

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others chanting in the Monastery: (3)
As of 2024-04-19 02:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found