http://www.perlmonks.org?node_id=843206


in reply to File::Find and $_ in the wanted sub

Localizing $_ is an option, also:

#!/usr/bin/perl use File::Find; #find (\&testy, "."); $_ = 'Main Line...'; testy ('i am a nice parameter'); print "$_\n"; sub testy { local $_ = shift; #Localizing it is cool, also..... print "$_\n" ; } __END__ ~Output~~ i am a nice parameter Main Line...

Good luck. -c

PS: The first parameter passed to a sub is in the first element of the list @_, $_[0], which is NOT the same a $_.

Replies are listed 'Best First'.
Re^2: File::Find and $_ in the wanted sub
by ikegami (Patriarch) on Jun 06, 2010 at 19:15 UTC
    I used for since for and local *_ are more thorough than local $_. One problem case:
    for ($tied) { ... local $_ = 'i am a nice parameter'; testy(); ... }

    No problem:

    for ($tied) { ... local *_; $_ = 'i am a nice parameter'; testy(); ... }

    No problem:

    for ($tied) { ... testy() for 'i am a nice parameter'; ... }