Perl中的-f命令无法在我的系统上运行

时间:2013-09-04 05:36:36

标签: perl directory command

我有Windows 7,我正在尝试打开目录并打印目录中的所有文件名,但-f命令在我的系统上不起作用。该计划如下:

enter code here

$directory = '\Users';
opendir(DIR, $directory) or die $!;
while ($file = readdir(DIR)){
    if(-f $file){
        print "$file\n";
    }
}
closedir(DIR);
谁能告诉我什么是错的? 在此先感谢。

2 个答案:

答案 0 :(得分:3)

您错过了该文件的路径。

它应该是这样的:

if(-f "$directory/$file") {

答案 1 :(得分:1)

您应该使用完整路径名进行测试。 $file仅包含文件名。

if ( -f "$directory\\$file" ){
    print "$file\n";
}