Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re^2: File::Find in a loop

by vagabonding electron (Hermit)
on Apr 28, 2013 at 17:29 UTC ( #1031101=note: print w/ replies, xml ) Need Help??


in reply to Re: File::Find in a loop
in thread File::Find in a loop

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!


Comment on Re^2: File::Find in a loop
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (12)
As of 2015-07-03 12:03 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 (51 votes), past polls