PerlTidyでの一括整形コマンド


地味に面倒くさかったので、メモとして残します

初めにやろうとしたこと

find ../lib -name '*.pm'  | xargs perltidy -pbp 

失敗でした。ただ、整形後のコードが標準出力として表示されただけでした。


-pbpは以下の内容が含まれています。



上記のオプションでダメなところが 「 -st # Output to STDOUT 」 です。


-st なしでコマンドを実行すればいいのではないかと考えました。

find ../lib -name '*.pm'  | xargs perltidy i=2 .... 

これもダメでした。
理由としては、元のpmファイルはそのままで、整形されたファイルが *.pm.tdy として出力されていたためです。

これを解決するオプションが [ -b ] です。

-b      backup original to .bak and modify file in-place

元のファイルを .bak ファイルとして置き換えてくれるオプションです。

これにより .pm ファイルが整形後のファイルになります。

そして、最後に .bakファイルを削除すれば全て置き換えてくれます。

最終的に以下のシェルスクリプトにまとまりました。