1
你的Perl問題:如何在Perl的Find :: Find完成後才運行代碼?
#!/usr/bin/perl
use File::Find;
#Find files
find(\&wanted, $dir);
sub wanted { #Do something }
#Done going through all files, do below:
other stuff { }
所以,我基本上要解析目錄和查找特定類型的文件。我可以用File :: Find成功完成。但是,我的下一步是,一旦我完成搜索文件,我想要執行下一個過程。
問題是,無論如何,我放在子想要{#Do something}後,得到執行,每次,我找不到文件!我知道這對於程序來說只是合乎邏輯的。但是,你能告訴我什麼我需要做的做到這一點:
1]查找文件:使用>子想{#Do東西} 2]雖然沒有更多的文件中搜索:>做些什麼其他{}
謝謝!
那麼,事實上會有超過1個文件。此外,可能有1到50個文件或更多的任何地方。只有在所有這些50個文件都被解析後,我纔想運行我的下一個功能。如果(!$ count_files)...我不想運行它,這意味着它將運行49次! – c0d3rs 2010-10-21 20:35:41
對不起,錯讀了你的Q. find()不是平行的,(做過「&」會讓你誤以爲它是?),因此find()將不會返回,直到它找到所有文件。在這種情況下,您不需要'$ files_not_found'或其他任何複雜的東西 – DVK 2010-10-21 20:44:13
感謝DVK,我不知道它並不平行。我很欣賞快速回復! – c0d3rs 2010-10-21 20:51:31