print文で簡単デバッグをもっと簡単にする Smart::Comments

あんまり格好いいデバッグ方法とは言えないけど、お手軽なので私がよく使うのが、本来のソースコードでは必要のなさそうな部分にprint文を入れて変数の内容を吐いたり、warnとかdieを使う方法です。幼少期からこの方法でデバッグすることが多いのでもう体に染みついています。


このお手軽な方法よりもっと簡単な方法を先の「まるごとPerl! Vol.1」で知りました。それが Smart::Commentsというモジュールです。

use Smart::Comments;

### $var

### got: $var

### Now computing value...

と、コードの中に”###”で始めてこんな感じで書けば、STDERRに出力されます。デバッグが要らなくなったら、useを消せばただのコメントになるので、ゴミが残ることもありませんよ。私みたいな横着モンのプログラマーには激烈便利!!


プログレスバーの表示も簡単で感動もの。

    for (@candidates) {       ### Evaluating |===[%]    |

こう書いたら、こういうのが出ます。

    Evaluating |[0%]                       |

    Evaluating |=[25%]                     |

    Evaluating |========[50%]              |

    Evaluating |===============[75%]       |

    Evaluating |===========================|