Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

Re: Globals with Strict

by cchampion (Curate)
on Sep 12, 2003 at 15:06 UTC ( #291082=note: print w/replies, xml ) Need Help??

in reply to Globals with Strict

Others have told you to declare the shared variable at the top of the file. Here's why:

#!/usr/bin/perl use warnings; use strict; x(); # this will trigger a warning my $shared = 'abc'; sub x { print "\$shared is: <$shared>\n"; } x(); # this will work fine

Although $shared is within the same scope as the sub x, its value has not yet been initialized. Therefore, the first time you call the subroutine, you get a warning for using an uninitialized value. Once the program flow passes over the shared point, everything it's OK. That was why, if you need a shared value, it should be "at the top".


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://291082]
and the daffodils sway...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (8)
As of 2018-02-18 11:12 GMT
Find Nodes?
    Voting Booth?
    When it is dark outside I am happiest to see ...

    Results (253 votes). Check out past polls.