最近 GrowthForecast とか GrowthForecast とかいじっているので、ruby でいうところの binding.pry みたいにコードの途中にブレークポイント貼ってごにょごにょデバグとかやりたいなーと思って、antipop さんの記事 を見て、Carp::REPL を試してみていたのですが、どうもすんなり入らないなーとか呟いていたところ、
という情報を頂いたので、Carp::Reply を試してみました。ちなみに reply というものもあって、こちらはインタラクティブシェルを起動するコマンドツールのようですね。※ コード読むと Carp::Reply が use Reply していました。
インストール
Carp::REPL は苦戦してたのですが、こちらはすんなり入りました。Carp::REPL よりも依存モジュールが少ないので時間もかからなかった。
reply はこんなかんじでつかいます。簡単ですね!
で、Carp::Reply はこんなかんじで使います。※比較のために antipop さんの記事 を元にしております。めんどくさかったわけじゃないw
自分は lib/GrowthForecast/Web.pm に Carp::Reply::repl(); でブレークポイントを貼って、curl でAPIを叩いて止まった所でごにょごにょとかやってました。
reply のコンソールが止まった所で #list とやると周辺ソースコードが表示されたり、#env とやると環境変数一覧が表示されたり、#bt とするとバックとレースが表示されたりするようですね。詳しくは本家のコマンド一覧を見るとよいかと思います。残念なことにステップ実行(次の行に進む)はなさそうですが ... T T
これで perl のデバグが捗るようになったのでお試しください!それでは!
トラブルシュート
reply および Carp::Reply::repl() でヒストリ機能が使えるらしかったのですが、自分の環境では readline が動かず(´・ω・`) 結論としては、こちらのサイト のようにTerm::ReadLine::Gnu を入れたら動くようになりました! :D 同様に Linux 環境であれー?となっている方はお試しください!
tokuhirom@tokuhirom
@sonots 最近はやりの Carp::Reply ならすんなりはいるかもです
2013/07/22 12:07:26
という情報を頂いたので、Carp::Reply を試してみました。ちなみに reply というものもあって、こちらはインタラクティブシェルを起動するコマンドツールのようですね。※ コード読むと Carp::Reply が use Reply していました。
インストール
Carp::REPL は苦戦してたのですが、こちらはすんなり入りました。Carp::REPL よりも依存モジュールが少ないので時間もかからなかった。
reply はこんなかんじでつかいます。簡単ですね!
で、Carp::Reply はこんなかんじで使います。※比較のために antipop さんの記事 を元にしております。めんどくさかったわけじゃないw
自分は lib/GrowthForecast/Web.pm に Carp::Reply::repl(); でブレークポイントを貼って、curl でAPIを叩いて止まった所でごにょごにょとかやってました。
reply のコンソールが止まった所で #list とやると周辺ソースコードが表示されたり、#env とやると環境変数一覧が表示されたり、#bt とするとバックとレースが表示されたりするようですね。詳しくは本家のコマンド一覧を見るとよいかと思います。残念なことにステップ実行(次の行に進む)はなさそうですが ... T T
これで perl のデバグが捗るようになったのでお試しください!それでは!
トラブルシュート
reply および Carp::Reply::repl() でヒストリ機能が使えるらしかったのですが、自分の環境では readline が動かず(´・ω・`) 結論としては、こちらのサイト のようにTerm::ReadLine::Gnu を入れたら動くようになりました! :D 同様に Linux 環境であれー?となっている方はお試しください!