2013-04-14 217 views
-1

我知道我可以通过Perl文档来编写代码并编写它,但是我怀疑有一个简单的方法可以完成我想要的操作,而这会花费我太多时间弄清楚。对目录中的每个.ly文件运行lilypond

我有一个音乐主要的.ly文件和一组较小的.ly文件来生成部分和指挥的分数。

所以,我想要做的基本上是这样的:

for each file in directory 
    if filename ends in ".ly" 
     lilypond filename 
    endif 
endfor 

多亏了类似的问题,我只是发现这个.BAT答案,但我想知道如何做到这一点在Perl在下一次。 :-) 谢谢!

+1

阅读FAQ http://stackoverflow.com/faq并告诉我们你尝试过什么 –

+0

要回答“你尝试过什么”的问题 - 并不多。我所做的搜索并没有给我足够清楚的答案,就如何通过一个目录来探索,这就是我来到这里的原因。 – SarekOfVulcan

+0

“我怀疑有一个简单的方法可以完成我想要的任务,而这需要我很长的时间才能弄清楚。”这应该是一个新的密切的理由... – Flimzy

回答

4
use autodie qw(:all); 
opendir(my $dh, $dir_qfn); 
while (defined(my $file = readdir($dh))) { 
    system('lilypond', "$dir_qfn\\$file") 
     if $file =~ /\.ly\z/i; 
} 
+1

为什么不'glob()'? – jordanm

+1

这也很好。 – ikegami

相关问题