Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

Re^2: The weirdest problem with undef

by blazar (Canon)
on Jun 28, 2005 at 10:18 UTC ( #470559=note: print w/ replies, xml ) Need Help??

in reply to Re: The weirdest problem with undef
in thread The weirdest problem with undef

In this case your best bet would be to declare my (@array1, @array2) before the for loop if you want them to be available to your subroutines.


This clearly tells me that the subroutine is looking for global variables. Declaring them as my inside a loop doesn't create global variables. So moving them to the top, like this, works fine:

OTOH this suggestion, in this form may contribute to suggest the OP to declare all of his own variables at the top of his scripts, which is indeed a bad habit many newbies have, and goes against proper scoping of variables.

I do use stuff like

{ my $var; sub bus { $var++; } }
myself, occasionally. But not as an alternative to parameter passing...

Comment on Re^2: The weirdest problem with undef
Download Code

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (2)
As of 2015-10-04 07:35 GMT
Find Nodes?
    Voting Booth?

    Does Humor Belong in Programming?

    Results (99 votes), past polls