最近のPerlのデバッグ2012年01月25日Perlよく分からないけど最近こうやってデバッグするようにしてる。Data::Printerこれまで値の確認にはData::Dumperを利用していたけど、程良く整形して色付けしてくれるData::Printerを使うようになった。DDPというエイリアスでも利用できる。useするとpという整形出力用メソッドを提供してくれる。Rubyで言うと、ppを利用していたのがap(=awesome_print)を利用するようになったというイメージ。これは適当にSelenium::Remote::Driverクラスのインスタンスをpメソッドで出してみた図。Carp::REPLREPLはコード中で処理を止めてPerlの対話環境を開くやつ。これまで使ってなかったけど、良さそうという話をTLで見かけたので、適当にData::Printer入れて値確認するよりは寧ろREPLを挿入して確認するようにしてる。サーバサイドアプリとかだと値を確認するのに逐一再読込みするのは面倒なので、その場で確認できるのは便利。値の確認だけじゃなくてちゃんと値の変更もできる。テストがfailしたらREPLを開くみたいな機能もあるらしいけどまだ利用したことはない。Rubyだとpryというかirbみたいなイメージ。qw/repl/してコード中でrepl()したらそこで対話環境が開く。TABとかで呼び出せるようにしてる。インデントはどうせ'<'と'>'で行うし、補完は利用しないので、TABキー有効利用できて良い。マクロ登録より使いやすい。repl();}${2}今はサーバログを好みにフィルタリングして整形したいとか思ってる。