File::Find::find ( sub {
#
unlink if int -M $File::Find::name > 100;
File::Copy::move $File::Find::name, "/$File::Find::dir/backup" if $File::Find::name =~ /ERROR/;
}, $dir );
在File :: Find :: find?
中移动和删除文件是否安全?答案 0 :(得分:4)
删除:是的。 File :: Find在为目录中的任何文件调用wanted
之前读取整个目录。
移动:不,因为您要将文件移动到可能访问的目录中。但是,如果您添加了以下所需的片段,那将是安全的。
if ($_ eq 'backup') {
$File::Find::prune = 1;
return;
}
此外,您之后确实应该拥有以下内容:
return if !-f $_;
答案 1 :(得分:0)
应该移动和删除文件。如果您正在移动并删除目录,因为您正在处理它们可能会有点令人困惑。文件和目录列表将在sub的开头进行,因此不会考虑在子运行期间创建的新文件和目录
希望这有帮助