如何使用简单代码

时间:2015-09-05 02:15:56

标签: perl

我正在尝试将所有子目录和文件放在' dir1,dir2,dir3,dir4,dir5'像下面一样把它推到另一个Dir。如果我使用这个代码我会得到一切。但是,我需要处理更多这样的目录。是否有简单的方法来处理所有这些' dir1到... dirx'使用简单代码而不是单独分配下面的每个目录。在此先感谢

use File::Find::Rule;
my @pushdir;
my @pushdir1 = File::Find::Rule->directory->in('/tmp/dirx');
my @pushdir2 = File::Find::Rule->directory->in('/tmp/nextdir');
my @pushdir3 = File::Find::Rule->directory->in('/tmp/pushdir');
my @pushdir4 = File::Find::Rule->directory->in('/tmp/logdir');
my @pushdir5 = File::Find::Rule->directory->in('/tmp/testdir');

push @pushdir, @pushdir1,@pushdir2,@pushdir3,@pushdir4,@pushdir5;

my @Files;
foreach my $dir (@pushdir) {
    push @Files, sort glob "$dir/*.txt";
}

2 个答案:

答案 0 :(得分:1)

使用子程序:

sc.close();

答案 1 :(得分:0)

听起来你想要一个*.txt子目录及其后代中包含的所有/tmp文件的列表

通过单个glob调用轻松完成,就像这样

my @files = glob '/tmp/**/*.txt'