我正在使用file::find一个目录结构并打印出来,但我在排除隐藏文件时遇到问题.这是我到目前为止:
find(\&todo, $start_dir);
sub todo
{
if ($_ =~ /^./)
{
print "hidden file $_\n";
}
else
{
if (-f $_) #check for file
{
file;
}
elsif (-d $_) #check for directory
{
directory($File::Find::dir);
}
else
{
print "ERROR: $_\n";
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果我删除了if ($_ =~ /^./)检查,文件和目录工作正常,但添加它将所有内容打印为隐藏文件.如您所见,我只需要这个就可以在unix上运行.谁能指出我正确的方向?
编辑:我忘记了前面的反斜杠. - 应该是if($ _ =〜/^./),但find()是否有默认方式忽略隐藏文件/目录?谢谢!
| 归档时间: |
|
| 查看次数: |
3138 次 |
| 最近记录: |