将目录和子目录列为带路径的数组;

时间:2011-12-20 00:56:58

标签: arrays perl directory

我需要使用Perl列出存储在数组中的所有目录和子目录。

例如:

$array[0] = '/home';
$array[1] = '/home/ali';
$array[2] = '/home/perl';
$array[3] = '/home/stackoverflow';
$array[4] = '/home/ali/desktop';
$array[5] = '/home/ali/sub';
$array[6] = '/home/stackoverflow/new';

3 个答案:

答案 0 :(得分:6)

use File::Find::Rule;
my @array = File::Find::Rule->directory->in('/home');

File::Find::Rule

答案 1 :(得分:1)

my @array = ('/home', grep -d, glob '/home/*');

答案 2 :(得分:0)

你可以用老式的方式做到:

File::Find::find( sub {
        say $File::Find::name if -d $File::Find::name
    }, @array 
    );