Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

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 all is quiet...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (6)
As of 2017-12-14 07:15 GMT
Find Nodes?
    Voting Booth?
    What programming language do you hate the most?

    Results (384 votes). Check out past polls.