Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re: File::Find in a loop

by fishmonger (Friar)
on Apr 28, 2013 at 16:35 UTC ( #1031097=note: print w/ replies, xml ) Need Help??


in reply to File::Find in a loop

Others have answered you base question, so I'll bring up something else. Why would you execute the find(..) call in a for loop like that, when the find(..) function accepts a list of directories?

my @dir = qw( N:/TMP N:/TMP_2 ); find( \&wanted, @dir ); sub wanted { print "$File::Find::dir $_\n"; }


Comment on Re: File::Find in a loop
Download Code
Re^2: File::Find in a loop
by vagabonding electron (Hermit) on Apr 28, 2013 at 17:29 UTC

    I have almost forgotten why (sorry I am getting old :-) ) in fact I used the anonyme subroutine in the working script already.

    The problem: I use File::Find in a script to backup my files to the floppy disk. I have a hash with keys as the source directories and values as the target directories.

    So I use:

    for my $source ( keys %dir ) { my $destination = $dir{$source}; find( sub { my $relativeName = $File::Find::name; $relativeName =~ s/$source//; my $sourceName = File::Spec->catdir( $source, $relativeName ); my $destinationName = File::Spec->catdir( $destination, $relativeName ); (...compare and backup if new or newer ...) }

    That's why I found no other way as to feed both $source and $destination to &find and that's why I do it in a loop. Well, another option would be to call &find anew for each location in a script:

    my $source = "N:/TEMP"; my $destination = $dir{$source}; find ( \&wanted, $source ); my $source = "N:/TEMP_2"; etc.

    Is there another way to do it?

    Thanks again!

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (16)
As of 2015-07-02 17:10 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (44 votes), past polls