Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re^3: File::Find and $_ in the wanted sub

by bart (Canon)
on Jun 06, 2010 at 13:03 UTC ( [id://843337]=note: print w/replies, xml ) Need Help??


in reply to Re^2: File::Find and $_ in the wanted sub
in thread File::Find and $_ in the wanted sub

Yes, you're accessing the same $_ everywhere. So, by definition, it's a global.

Only, it temporarily gets a new value before the call to your sub, and it gets restored to its old value afterwards.

One way to that yourself is by using

local $_;
or
local $_ = 'temporary value';
which makes a copy of your value; or, as ikegami wrote in another reply, using for/foreach:
foreach('temporary value') { # your code }
which will loop exactly once, with $_ set to an alias of the value (meaning it's a different name for the same value, change the variable and the value will follow (or, for a constant, it might protest against the attempt to change a read-only value).

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (2)
As of 2024-04-20 03:30 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found