在Perl中将文件从列表/数组移动到目标文件夹

在Perl中将文件从列表/数组移动到目标文件夹,perl,Perl,使用Perl代码 use File::Find::Rule; my @files = File::Find::Rule->file() ->mtime('<=' . (time() - 3600)) ->in("/source/directory/path"); 使用File::Find::Rule; my@files=File::Find::Rule->F

使用Perl代码

use File::Find::Rule;

my @files = File::Find::Rule->file()
                            ->mtime('<=' . (time() - 3600))
                            ->in("/source/directory/path");
使用File::Find::Rule;
my@files=File::Find::Rule->File()
->mtime('工作解决方案:

使用File::Find::Rule;
使用文件::复制;
my@files=File::Find::Rule
->文件()

->mtime('您可以使用
warn
代替
print STDERR
。只有在目录结构是平面的或者您希望目标目录是平面的情况下,此功能才有效。否则,您必须确保首先在目标中创建子目录,例如使用
mkpath
from
File::Path
use File::Find::Rule;
use File::Copy;

my @files = File::Find::Rule
              ->file()
              ->mtime('<=' . (time() - 3600))
              ->exec( sub { 
                            my $r = move($_[2], "/destination/directory/path");
                            print STDERR "$_[2]\t$!\n" if !$r;
                            $r
                          }
                    )
              ->in("/source/directory/path");