File-Mirror
view release on metacpan or search on metacpan
use File::Find;
use File::Spec;
our @EXPORT = qw(
mirror
recursive
);
our $VERSION = '0.10';
sub recursive(&@) {
my ($code, $src, $dst) = @_;
my @src = File::Spec->splitdir($src);
pop @src unless defined $src[$#src] and $src[$#src] ne '';
my $src_level = @src;
find({ wanted => sub {
my @src = File::Spec->splitdir($File::Find::name);
my $from = File::Spec->catfile($src, @src[$src_level .. $#src]);
my $to = File::Spec->catfile($dst, @src[$src_level .. $#src]);
$code->($from, $to);
},
( run in 0.972 second using v1.01-cache-2.11-cpan-49f99fa48dc )