package MyModuleBuilder; use Module::Build; @ISA = qw(Module::Build); sub process_extra_files { my ($self, $dir) = @_; $dir ||= $element; File::Find::find( { wanted => sub { $File::Find::prune = 1 if -d and /\.svn$/; # Exclude .svn/ dirs. return if not -f; # Handle files only. my $destination = $self->copy_if_modified( from => $File::Find::name, to => File::Spec->catfile($self->blib, $File::Find::name) ); return if not defined($destination); # Already up to date? chmod((stat($File::Find::name))[2], $destination) or warn("Cannot set permissions on $destination: $!"); }, no_chdir => 1 }, $dir ); } sub process_sbin_files { shift->process_extra_files('sbin') } 1;