我正在使用perl strawberry编写脚本。首先,它需要能够接收路径参数并获取该路径的目录列表,并且需要能够区分文件和文件夹。我阅读了一些相关教程并编写了下面的脚本,但只有当我给出脚本当前所在的路径时才有效。如果我给出其他路径,则-f和-d测试无法正常工作。
编辑:澄清一下,如果我给它一个不同于自己路径的路径,则脚本确实会将所有文件和文件夹放入@thefiles中,只是-f和-d测试无法正常工作。
这里有一张截图:http://i.stack.imgur.com/RMmFz.jpg,希望有人能够帮忙,非常感谢您的时间。 :)
编辑:澄清一下,如果我给它一个不同于自己路径的路径,则脚本确实会将所有文件和文件夹放入@thefiles中,只是-f和-d测试无法正常工作。
use Getopt::Long;
my $dir;
GetOptions('-d=s' => \$dir);
opendir(DIR, $dir) or die "BORKED";
@thefiles = readdir(DIR);
print DIR;
closedir(DIR);
@filez;
@dirz;
foreach $file (@thefiles){
if (-f$file){
push(@filez, $file);
}
if (-d$file){
push(@dirz, $file);
}
}
print "files: @filez \n";
print "Directories: @dirz \n";
这里有一张截图:http://i.stack.imgur.com/RMmFz.jpg,希望有人能够帮忙,非常感谢您的时间。 :)