Perl 检查文件夹是否为空(什么是“和”)

Perl 检查文件夹是否为空(什么是“和”),perl,Perl,我是perl新手,打算检查文件夹是否为空。我发现这个函数: is_folder_empty { my $dirname = shift; opendir(my $dh, $dirname) or die "Not a directory"; return scalar(grep { $_ ne "." && $_ ne ".." } readdir($dh)) == 0; } 它工作得很好,但我不明白它为什么要执行grep{$\une.&&$\une.“

我是perl新手,打算检查文件夹是否为空。我发现这个函数:

is_folder_empty {
    my $dirname = shift;
    opendir(my $dh, $dirname) or die "Not a directory";
    return scalar(grep { $_ ne "." && $_ ne ".." } readdir($dh)) == 0;
}

它工作得很好,但我不明白它为什么要执行
grep{$\une.&&$\une.“}
。这里的
是什么意思?

我想你已经看过了

即使是空目录也包含
目录

表示当前目录

表示父目录


因此,您的函数将排除这两个结果,因为它们将始终存在。

我假设您看到了

即使是空目录也包含
目录

表示当前目录

表示父目录


因此,您的函数将排除这两个结果,因为它们将始终存在。

目录总是有一个条目。(此目录)和。。(父目录)。 您提到的代码读取目录的所有条目,如果只有这些条目,则为空


希望我能理解

一个目录总是有一个条目。(此目录)和。。(父目录)。 您提到的代码读取目录的所有条目,如果只有这些条目,则为空


希望我可以理解

使用布尔代数,你或多或少是正确的,它可以重写为:
grep{not($eq'..$$eq'.')}
参见“德摩根定律”使用布尔代数,你或多或少是正确的,它可以重写为:
grep{not($eq'.$$$eq'.})}
参见“德摩根定律”