Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

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...

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://470559]
and snow settles gently...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (10)
As of 2017-12-18 18:58 GMT
Find Nodes?
    Voting Booth?
    What programming language do you hate the most?

    Results (495 votes). Check out past polls.