運用時に必要なコメントを残す方法
ところで、デバッグ出力には、開発時だけ確認のために出力したいものと、運用時にも出力したいものがあります。例えば、ループ処理の状況は運用時にも表示したいけれど、変数内容の出力は開発時のみでよい、といった使い分けです。この場合、「#」の数で出力するコメントを選ぶ事ができます。Smart::Comments モジュールを use する時に以下のように指定する事で、いくつ「#」があるものを出力するかを指定可能です。なお、出力されるコメントに前置される「#」の数は、プログラム内の記載に関わらず常に3つです。
use Smart::Comments; # 「#」が3つ以上続くコメント全て
use Smart::Comments '###'; # 3つのみ
use Smart::Comments '####'; # 4つのみ
開発時に、「運用時にも出力したいコメントは『#』4つ」等と決めておけば、開発後は「use Smart::Comments;」を「use Smart::Comments '####';」に切り替える事で必要なコメントのみを残す事ができます。
ただし、Smart::Comments モジュールの使用はかなりパフォーマンスに影響しますので、速度が重要なプログラムや、運用時コメントはごくわずか、という場合は完全に use をコメントアウトして別途手書きで出力をする事も検討して下さい。
また、Smart::Comments での出力をしたくないコメントは、「#」1個または2個のみで記載して下さい。
Smart::Comments モジュール利用の注意点
Smart::Comments モジュールでは出力時に計算式の評価を行っていますので、コメント出力時に変数の値を書き換えるような記載をすると処理が狂ってきますので注意して下さい。例
### $valname ### $valname++ : $valname++ ### $valnameこの出力は以下のようになり、コメント出力により値が書き変わってしまった事が分かります。
### $valname: 32 ### $valname++ : 32 ### $valname: 33また、このモジュールは便利なのですが、ドキュメントと実際の動作が異なる場合が多々ありますので、実際に試しながらゆるゆると使ってみて下さい。