如何使用Perl递归删除所有.svn目录?

时间:2009-11-18 13:30:48

标签: perl

Perl脚本会是什么样的目录,然后以递归方式删除该目录中的所有.svn目录?

(无壳,跨平台)

1 个答案:

答案 0 :(得分:14)

您可以(也可能应该)首先使用svn export

否则,请使用File::FindFile::Path::rmtree

#!/usr/bin/perl

use strict; use warnings;

use File::Find;
use File::Path qw( rmtree );
use File::Spec::Functions qw( catfile );

find(\&rm_dot_svn, $_) for @ARGV;

sub rm_dot_svn {
    return unless -d $File::Find::name;
    return if /^\.svn\z/;
    rmtree(catfile $File::Find::name, '.svn');
    return;
}