Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much

Re^3: foreach-loop-local var in sub

by eyepopslikeamosquito (Chancellor)
on Jan 21, 2013 at 20:08 UTC ( #1014512=note: print w/replies, xml ) Need Help??

in reply to Re^2: foreach-loop-local var in sub
in thread foreach-loop-local var in sub

I didn't know about "our" (and still don't, but at least now I know what I should be looking for)
Nooo!!! You should not be looking at our! Lexical variables (my) are what you should be learning about first and they should be preferred to global variables (our) in almost all cases.

Given you are a Perl beginner, you need to master the basics of scoping and how to write subroutines. Start by defining all your subroutines at the top of the file and pass parameters to each subroutine. Do not succumb to the evil of having subroutines use global variables. Instead think about your code, what each subroutine does and what it needs, and pass parameters to each subroutine for use as local variables within the subroutine. For example:

use strict; use warnings; sub my_print { my $i = shift; print $i; } foreach my $j (0, 1) { my_print($j); }

Further reading from the Perl monks Tutorials section:

As for learning Perl, take a look at and Perl Tutorial Hub. Also, be sure to refer to the Perl online documentation. Good luck!

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (6)
As of 2018-08-15 13:04 GMT
Find Nodes?
    Voting Booth?
    Asked to put a square peg in a round hole, I would:

    Results (160 votes). Check out past polls.