我发现这个脚本从目录中递归读取,我很难理解这行代码:
if ($file eq '.' || $file eq '..')
所以如果有人能解释一下,谢谢。
我发现这个脚本从目录中递归读取,我很难理解这行代码:
if ($file eq '.' || $file eq '..')
所以如果有人能解释一下,谢谢。
此行检查$file
等于"."
或 ".."
。这些是 UNIX 中的特殊文件名,分别表示“当前目录”和“父目录”。
它测试文件是否等于“。” (当前目录)或“..”父目录。当您搜索目录树但不想处理这些特殊文件时,会使用这种东西。
例子:
For each file in SomeDirectory:
if file is current directory, '.', or parent directory ,'..'
skip
do something with file
EndFor
Perl 中的readdir
函数不仅返回打开目录中的条目,还返回代表当前打开目录本身.
的目录: 和父目录:..
。这些对于目录上的递归操作通常没有用,并且在该代码中专门处理。