檢查所有 perl 源碼的語法
作者:gugod 發佈於:這個指令可以檢查 foo.pl
的語法:
perl -cw foo.pl
#=> foo.pl syntax OK
寫 application 的時候,會把源碼整理成許多 .pm
,這時卻沒辨法使用 perl -cw *.pm
一次做所有檔案的文法檢查。因為 perl
只預期第一個參數是程式名字,剩下的全成了程式的參數 (@ARGV
) 了。
這時要加上一些 shell scripting 來簡化麻煩的事:
find lib -type f -name '*.pm' | xargs -I % perl -Ilib -cw %
zsh 可寫:
foreach i (`find lib -type f -name '*.pm'`) { perl -Ilib -cw $i }
為求方便,我另外寫了個 perl-check-syntax 程式來做這件事:
#!/bin/zsh
for f in $*
perl -Ilib -cw $f
使用方法如
perl-check-syntax *.pm
perl-check-syntax lib/*.pm