• ベストアンサー

perlでステップイン

perlを勉強しています。 現在掲示板を作成しているのですが、思ったように動いてくれません。 例えば if ($FORM{'mode'} eq "test") { &test; } といった感じに記述しているのですが、mode=testでも sub testを通っていない状態なのです。 そこで、ステップイン実行が出来れば、どこがおかしいのかが わかりやすいと思ったのですが、そういうソフト等ってあるのでしょうか? ご存知でしたら教えてください<(__)>

質問者が選んだベストアンサー

  • ベストアンサー
  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.3

通常、perlのスクリプト(xxx.pl)を書いたとき、それを動かす為には、perl xxx.plとコマンドラインから入力します。このことをperlを起動すると表現しました。この場合、perl -d xxx.plとすることにより、デバッグモードでperlが起動することになり、スクリプトを1ステップ毎に実行できることになります。(それなりにコマンドをいくつか投入したりしますが・・・) 今回の場合、上記のような形でスクリプトを動かしていないようですので、このオプションの使用はあきらめた方が、よいと思われます。 VBとかVCのデバッガのようなもの期待されている場合(画面上で、直感的に操作できるデバッガ)は、残念ながらそれに該当するものを私は知りません。 デバッガを使わない手っ取り早い手段としては、 printfで画面(標準出力か標準エラー)に変数の内容を出力する方法をとるのが、現実的かと思います。

Tsuboko
質問者

お礼

再度ありがとうございます。 コマンドラインですか、なるほどなるほど・・・ まだまだ勉強不足で用語はいまいちわからないですが、 いろいろ調べてみようと思います(^▽^)ノ

その他の回答 (2)

  • bikkuri
  • ベストアンサー率33% (23/68)
回答No.2

掲示版とあるので、perlのcgiかと思います。 perlのデバッガは使ったことが無いですが、デバッガor類似の事を するには、telnetなどのコマンドラインから実行、その後の指示をする必要があります。 (プロバイダ上のWEBページでしたら、telnetが使えないことも多いはず) あと、cgiをコマンドラインから実行するのは簡単ですが、formなどのパラメータを 上手く手動で渡す必要もあります。 (postなら標準入力から、getなら環境変数から・・・)

Tsuboko
質問者

お礼

ありがとうございます。 telnetですね、早速調べてみます(^▽^)ノ

  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.1

perl自身がデバッガを内包しています。 perl -d XXXX.pl のように-dオプションをつけて perlを起動して下さい。 起動後は h[コマンド]により、ヘルプが表示されます。

Tsuboko
質問者

補足

ありがとうございます。 それはどこかに記述するものなのでしょうか? それでステップインと同じ事が行えるのですか? perlを起動というのはどういう事ですか? 無知ですみません(>_<;;;

関連するQ&A