perl获取目录下文件名,这里为大家介绍两种方法,供参考。
1.使用opendir
#!/usr/bin/perl
use strict;
my $path="d:"; #设置查询的目录
opendir(TEMPDIR, $path) or die "can't open it:$!";
my @dir = grep -d, readdir TEMPDIR; #-d表示选出目录文件,还可以换成其它表达式
print join "n",@dir;
close TEMPDIR;
2.使用glob
#!/usr/bin/perl
use strict;
my $path="d:*";
my @dir=glob($path);
foreach (@dir)
{
print;
print "n";
}
两者的区别:
opendir读取的是纯粹的目录和文件名,不包含路径;如:a.txt
glob获得的目录和文件名带有路径,是全路径文件和目录名。如:d:a.txt