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]
[TCLion]: I guess it makes sense but trying to take out key info to make it general was a bit difficult in the tiny window, it just doesnt look right... but I understand

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (13)
As of 2017-03-23 19:03 GMT
Find Nodes?
    Voting Booth?
    Should Pluto Get Its Planethood Back?

    Results (294 votes). Check out past polls.