use File::DirSync; my $dirsync = new File::DirSync { verbose => 1, nocache => 1, localmode => 1, }; $dirsync->ignore("CVS"); $dirsync->rebuild( $from ); # and / or $dirsync->dirsync( $from, $to );