Smart::Comments 便利


Smart::Comments っていう便利なモジュールがある。

Smart-Comments-1.06 - Comments that do more than just sit there - metacpan.org


あんまり有名じゃないのか、検索してもあまり検索結果件数が多くないので紹介してみる。


だいぶ前にこちらのエントリーで知ってからよく使っているモジュール。

上のエントリーですごくよくまとまっているので、普段

warn "hoge:$hoge\n" if $DEBUG;

とか書いてるPerl使いの方は一度読んでみることをお勧めする。


基本的にはデバッグメッセージを出力するモジュール。

スクリプト中に

### $hoge

と書いておくと STDERR に $hoge の変数の内容が表示される。


スクリプトの実行開始時間を表示したり、ループのプログレスバーを表示させるのも非常に簡単。

ちょっとしたスクリプトを書くときはほとんどの場合 use してる。

use Smart::Comments;

で有効になって

no Smart::Comments;

するなり、use 行を消せばただのコメントになる。

環境変数によって切り替えたい場合は

use UNIVERSAL::require;
BEGIN { Smart::Comments->use if $ENV{DEBUG} }

こんな感じにしておくといいかも。


このモジュールもすごいけど、やっぱ Filter::Simple すごいな・・・

他の言語でこんなことできるのあるのかな。