How can I pass a parameter to the wanted function when using Perl's File::Find?
file-find, perl
Solution
You use a closure:
use File::Copy;
my $outdir= "/home/me/saved_from_tmp";
find( sub { copy_to( $outdir, $_); }, '/tmp');
sub copy_to
{ my( $destination_dir, $file)= @_;
copy $file, "$destination_dir/$file"
or die "could not copy '$file' to '$destination_dir/$file': $!";
}
Problem
Possible Duplicate: How do I pass parameters to the File::Find subroutine that processes each file? One can use Perl's File::Find module like this: ``` find( \&wanted, @directories); ``` How can we add a parameter to the `wanted` function? For example, I want to traverse the files in `/tmp` extracting some information from each file and the result should be stored to a different directory. The output dir should be given as a parameter.