2013-04-14 456 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

相關問題