1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
#!/usr/bin/perl -w use strict; use File::Spec; local $\ = "\n" ; #当前模块的每行输出加入换行符 my %options ; #目录路径 $options {single_case} = '/home/jiangyu/src/pl/Example' ; my @cases ; if (-d $options {single_case}) { #判断目录是否存在 my @files ; my $dh ; push ( @files , $options {single_case}); while ( @files ) { if (-d $files [0]) { #若是目录执行以下操作 opendir $dh , $files [0] or die $!; #打开目录句柄,若失败打印错误信息 @_ = grep { /^[^\.]/ } readdir $dh ; #过滤掉以"."和".."的文件,即UNIX下的隐藏文件 foreach ( @_ ) { push ( @files , File::Spec->catfile ( $files [0], $_ )); #连接目录名和文件名形成一个完整的文件路径: } closedir $dh ; } #若是文件直接压入数组@cases中 elsif ( $files [0] =~ /\.t$/) { push ( @cases , $files [0]); } shift @files ; } } else { @cases = ( $options {single_case}); } print $_ foreach @cases ; #打印文件列表 |