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

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

by warshall (Novice)
on Jan 21, 2013 at 16:09 UTC ( #1014479=note: print w/ replies, xml ) Need Help??


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

Thank you. this answered my question. I didn't know about "our" (and still don't, but at least now I know what I should be looking for). -warshall


Comment on Re^2: foreach-loop-local var in sub
Re^3: foreach-loop-local var in sub
by choroba (Abbot) on Jan 21, 2013 at 16:15 UTC
    what I should be looking for
    I would recommend looking for subroutine parameters, rather. See perlsub for details.
    لսႽ ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ
Re^3: foreach-loop-local var in sub
by eyepopslikeamosquito (Canon) on Jan 21, 2013 at 20:08 UTC

    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 learn.perl.org and Perl Tutorial Hub. Also, be sure to refer to the Perl online documentation. Good luck!

Re^3: foreach-loop-local var in sub
by Anonymous Monk on Jan 22, 2013 at 13:11 UTC

    I think you are searching for anonymous subroutines and closures, but given that you indeed seem like a programming/Perl newbie, you shouldn't be venturing there and instead heed to the advice given in 1014512 above.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (7)
As of 2014-07-11 11:47 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (224 votes), past polls