- ベストアンサー
perlでステップイン
perlを勉強しています。 現在掲示板を作成しているのですが、思ったように動いてくれません。 例えば if ($FORM{'mode'} eq "test") { &test; } といった感じに記述しているのですが、mode=testでも sub testを通っていない状態なのです。 そこで、ステップイン実行が出来れば、どこがおかしいのかが わかりやすいと思ったのですが、そういうソフト等ってあるのでしょうか? ご存知でしたら教えてください<(__)>
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
通常、perlのスクリプト(xxx.pl)を書いたとき、それを動かす為には、perl xxx.plとコマンドラインから入力します。このことをperlを起動すると表現しました。この場合、perl -d xxx.plとすることにより、デバッグモードでperlが起動することになり、スクリプトを1ステップ毎に実行できることになります。(それなりにコマンドをいくつか投入したりしますが・・・) 今回の場合、上記のような形でスクリプトを動かしていないようですので、このオプションの使用はあきらめた方が、よいと思われます。 VBとかVCのデバッガのようなもの期待されている場合(画面上で、直感的に操作できるデバッガ)は、残念ながらそれに該当するものを私は知りません。 デバッガを使わない手っ取り早い手段としては、 printfで画面(標準出力か標準エラー)に変数の内容を出力する方法をとるのが、現実的かと思います。
その他の回答 (2)
- bikkuri
- ベストアンサー率33% (23/68)
掲示版とあるので、perlのcgiかと思います。 perlのデバッガは使ったことが無いですが、デバッガor類似の事を するには、telnetなどのコマンドラインから実行、その後の指示をする必要があります。 (プロバイダ上のWEBページでしたら、telnetが使えないことも多いはず) あと、cgiをコマンドラインから実行するのは簡単ですが、formなどのパラメータを 上手く手動で渡す必要もあります。 (postなら標準入力から、getなら環境変数から・・・)
お礼
ありがとうございます。 telnetですね、早速調べてみます(^▽^)ノ
- tatsu99
- ベストアンサー率52% (391/751)
perl自身がデバッガを内包しています。 perl -d XXXX.pl のように-dオプションをつけて perlを起動して下さい。 起動後は h[コマンド]により、ヘルプが表示されます。
補足
ありがとうございます。 それはどこかに記述するものなのでしょうか? それでステップインと同じ事が行えるのですか? perlを起動というのはどういう事ですか? 無知ですみません(>_<;;;
お礼
再度ありがとうございます。 コマンドラインですか、なるほどなるほど・・・ まだまだ勉強不足で用語はいまいちわからないですが、 いろいろ調べてみようと思います(^▽^)ノ