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ファイルを削除すれば全て置き換えてくれます。
最終的に以下のシェルスクリプトにまとまりました。