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