有谁知道如何使File:Find可以搜索symlink目录?
我在一个真实的目录
/home/alex/mydir1
Run Code Online (Sandbox Code Playgroud)
和里面的一个符号链接目录
/home/alex/mydir1/test -> ../mydir2
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
#!/depot/perl-5.8.3/bin/perl
use strict;
use File::Find qw(find);
my $path = "/home/alex/mydir1";
find(\&Search,follow => 1, $path);
sub Search{
my $path = $File::Find::name;
print $path."\n";
}
Run Code Online (Sandbox Code Playgroud)
结果是:
/home/alex/mydir1
/home/alex/mydir1/test
Run Code Online (Sandbox Code Playgroud)
为什么不通过/ home / alex / mydir2搜索并打印出其中的每个文件?谁能告诉我该怎么做?
感谢你并致以真诚的问候。
亚历克斯
小智 5
仔细查看File :: Find的文档可发现错误:您传递了参数的键值列表,而不是对参数哈希的引用。
# Incorrect: looks like find(@params)
# asks find to search the list of paths:
# ( 'follow', 1, $path )
find(\&Search,follow => 1, $path);
# Correct: looks like find(\%params)
find({ wanted => \&process, follow => 1 }, $path);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
652 次 |
| 最近记录: |