2016-06-16 14 views
0

誰でもファイルを作る方法を知っていますか?Findはsymlinkディレクトリから検索できますか?Find:Perlのファイル - シンボリックリンクのディレクトリから検索

私は

/home/alex/mydir1 

で実際のディレクトリを持っており、ここで

/home/alex/mydir1/test -> ../mydir2 

内部のシンボリックリンクディレクトリは私のコードです:

#!/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"; 
} 

そして結果は次のとおりです。

/home/alex/mydir1 
/home/alex/mydir1/test 

なぜ/ home/alex/mydir2を検索して内部のすべてのファイルを出力しないのですか?誰も私にそのことを教えてもらえますか?

ありがとうございます。 File::Findのドキュメントで

アレックス

+0

'警告を使用;' – toolic

+0

http://perldoc.perl.org/File/Find.html $ファイル::検索::フルネーム – ssr1012

答えて

4

近くで見るには、エラーを明らかに: あなたが代わりにハッシュパラメータのから参照のパラメータのキーと値のリストに合格しています。

# 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); 
関連する問題