• ベストアンサー

Perlのコードデバッグ

Perl初心者で、現在独学勉強中です。 Win-PCでメモ帳を使ってコーディングしているのですが、あたりまえですが、コードに間違いがあれば動かないですが、実行結果がどんな間違いでも「サーバーが見当たりません。」だけで、どこがどう間違っているとは教えてくれません。この間もelsifをelseifと間違っていて、(VBユーザーなものでこんなミスをします。)バグ探しに1時間くらいかかりました。 VBほど親切でなくていいですから、せめて何行目があやしいよ・・・くらい教えてくれるデバッカーは世の中に無いものでしょうか?宜しくお願いします。

  • CGI
  • 回答数2
  • ありがとう数3

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

  • ベストアンサー
  • the845t
  • ベストアンサー率33% (246/743)
回答No.2

Copalが重宝することでしょう。

参考URL:
http://homepage1.nifty.com/kaityo/menu.html
souta_n
質問者

お礼

なるほど!!これはけっこうよさげなソフトですね。 エディターと実行結果がすぐ確認できるのがgooです。 エラー表示はやっぱり英語ですけど・・・英語が苦手だというのは私の問題ですから、イヤならプログラムやめろと自分で自分に突っ込んどきます。 これで随分効率がUPします。ありがとうございます。

その他の回答 (1)

回答No.1

ローカル環境にPerlはインストールされていますか? もしされているのであれば、 コマンドプロンプト(DOS画面)で、 perl -c sample.cgi というように打つことで文法チェックがかけられます。 (ファイル名を入力する代わりに、ファイルを ドラッグ&ドロップした方が楽かもしれません) その他、有名どころでは perl -w で警告表示 perl -d でデバッガの起動 perl -T で汚染チェックの起動 などがあります。

souta_n
質問者

お礼

おぉ!・・・本当だ!大嫌いな英語だけど、何行目がおかしいということは分かります。ありがとうございます。 ちなみにこれらの操作のもう少し詳しい文献やサイトなどありましたら教えてもらえますと助かります。重ねてお願いします。

関連するQ&A

  • Perl/CGIを学んでいるのですが

    Perl/CGIを独学で学んでいます。 掲示板やチャットが作成できる程度です。 私はPerl=CGIと考えていたのですが(HTMLがサイト作成に使うことのように専用の言語とでもいいましょうか)、ぜんぜん違うようです。 PerlはCGI以外に Perlではどのようなことができるのでしょうか? 大まかな認識だと ビィジュアルを持たない、(VBでいうフォームパーツですかね)バッチファイルなど? で、コマンドプロンプトで動作するようなイメージがありますが(.batを起動するとメモ帳みたいなアプリではなく、特定の処理して終了みたいな) 無知な私にPerlで出来ることをお教えください。 せっかくPerl/CGIが少しは理解できているのでPerlをもっと勉強しようかとあぐねいているとこらです。 混乱しているため変な質問でしたらすいません

  • perl習得者がphpを学ぶ場合

    始めまして。 Perlを有る程度勉強しましたが、この知識を上手く活用して phpも勉強したいと思っていますが、どこから勉強を 始めるのが効率的でしょうか? 仕事の関係により独学でVB(VBA)、Perl、JavaScriptを学びました。 このたび業務でphpを担当することになりましたが、 時間的な問題もあり、これまでのように一から勉強することよりも 効率的な勉強方法があるのではないかと思い質問させていただきました。 (ただ遠回りとも言えるこのおかげで色々なサブ知識も役に立ちましたが) コーディングの良し悪しは別としてPerl(& MySQL)では ネットや書籍から色々と見て、私が思った機能は実装できるレベルです。 (Excel VBAが得意です) 私のようなPerl知識を持った者がphpを勉強する場合 ここから始めると入りやすい、あるいはここがPerl経験者で間違えやすい などありましたらご教授いただけないでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • Perlのデバッグ

    Perlで通過してきた関数を表示させるJavaでいうe.printStackのようなものはあるのでしょうか? CGIでも利用できるものがあれば教えてください。

    • ベストアンサー
    • Perl
  • Perlの変数に文字数制限(容量制限)はあるか

    Perlの変数に文字数制限(容量制限)はあるか Perlで書いた自作の掲示板なのですが、ずっと普通に動いていたのですが 急にデータが欠けてしまいました。書き込みデータはテキスト形式で、 ↓の様な形で保存しています。 <div>1つの書き込みの中身</div>\n <div>1つの書き込みの中身</div>\n <div>1つの書き込みの中身</div>\n <div>1つの書き込みの中身</div>\n <div>1つの書き込みの中身</div>\n 1つの書き込みは1行に収まっていて、書き込み時に \n を付けて保存して、 読み込み時は配列に読み込んで、べろっと出すだけの処理です。 掲示板書き込みなので unshift で上が新しい書き込みにしてあります。 通常のタグ禁止処理や、改行コード処理はしてあります。Perl5.6.1です。 数日前、容量が減っていることに気付き、調べてみると、 <div>1つの書き込みの中身</div>\n <div>1つの書き込みの中身</div>\n <div>1つの書き のような形でデータが欠けていました。欠けていると言っても9割方消えていました。 残っていたのは新しい側の書き込みです。 いつ消えたのか、何をした時に消えたのかが不明のため、原因を探っている段階です。 もちろん、一番怪しいのはプログラムのミスなのですが、それも調べつつ、 ちょっと前から気になっていた点として、データ容量が1.5MBぐらいまで ふくらんでいて重くなっていたんです。 data.dat のような1ファイルにテキストばかり1.5MB、そして内部の処理でも 普通にその容量を一つの変数に入れたりしています。 データが唐突にぶつっと切れていることと、容量が多くて気になっていたこと、 この辺りでちょっと怪しいのですが、変数の容量制限、ファイルの容量制限が 調べても出てきません。知っている方いましたら教えてください。 他にも、そういうバグの時こういうミスがあったよ、など、ありましたら アドバイスをお願いします。 自分が作った物のデバッグで恐縮なのですが、よろしくお願いします。

    • ベストアンサー
    • Perl
  • 長編プログラミングの設計のコツ

    都合の良い話ですが、書籍や時間の取られる専門的な勉強を避け、 出来るだけ簡単にプログラムを設計するコツを知りたいのです。 今までは、どのような言語でも、数百行のコードを思いつくままに、 浮かんだアイデアを取り入れながら、コーディングして来ましたが うまく行っていました。 数ヶ月前に、1万行程度のコードを書いていて、 コードを見やすくするために、汎用処理を別ファイルにまとめたり、 関数化したり、オブジェクトにしたりして、20個以上のファイルに 分割されたコードが出来ました。 ブロック単位での挙動はテスト済みだったのですが、いざ完成直前に バグが頻発しました。 デバッグに入り、1連の処理が複数ファイルに分散されている事や 複数の関数から参照される処理が多々存在するなど、修正した部分 が新しいバグを引き起こすような事態になり。 コーディングよりもバグを取り除く事に遥かに時間が掛かり過ぎて、 結局、1からつくり直す事にしました。 前回の失敗を無くすため、なるべく各関数の依存度を下げ、カプセル化 やコメントをまめに書く事にに勤めました。 すると、今度はコードが3割程度長くなった挙句、1つのファイルの コードが長くなり、頓雑な、依存度を下げるために使った処理や変数の 数も倍以上に増えて、思いつくまま流れるようなコーディングが出来ず、 結局毎日作業開始時には、長々としたコメントを読むことから始めなく てはいけません。 一日3時間位しか取れない作業時間のうち、その作業に1時間は取られて はかどらず、挫折してます。 是非、主観的なご意見で構いませんので、お勧めの方法があれば アドバイス頂けませんでしょうか? ○参考にしてください。 デバッグの際に複数ファイルに渡った変数や処理の参照が作業を 困難にしているのは解っているが結局出来上がるとそうなってしまう か冗長なコードになってしまう。 記憶に頼る管理は極端に苦手(一日たつと、何を書いていたのか解らず、コード全体を読み直す事がしばしば)。 ファイル構造を始めに決めて処理の流れをある程度書き出して始めた たが、実際にコーディングを始めると思いつくままにコーディングが できす、構造管理に気を取られ頭が真っ白になる。 変数をハッシュなどでまとめて解りやすくしたつもりが、意外と読みにくい。 今までは、デバッグに関しては、記述ミスや、1つずつの変数や関数の 動作をトレースする事で事足りたので、今回も、それ以外のデバッグ 方法は取っていない。

  • バイト先の上司の態度について。

    こんにちは。今月4月からディスカウントストアでレジのバイトを始めた者です。 これまでレジ経験は無く、一回教えられても、なかなかメモも追い付かないし、教えられた内容を理解出来ない事もあります。 失敗するとは、「この間教えたでしょ。」と言われます。 また、打ちミス等が発覚すると、その人を非難する様な事が書かれた張り紙が、各社員さんやメイトさんの棚に貼られます。 こういう職場って普通なのでしょうか? 混んでいるお店に、よく調べずに応募した私も悪いのですが、社員さん同士で他の人の悪口を言ったり、ちょっとレベルを疑う職場です。。 前のバイト先では、親切、丁寧に教えてもらっていたので、ちょっとびっくりしています。 世の中、このような職場は当たり前なのでしょうか? 怒られながらも、二ヶ月もすれば少しは覚えられるかもしれないと思い、頑張っているのですが… もし、御意見がありましたら、宜しくお願い致します。m(_ _)m

  • デバッグ前のコードに戻すには?

    Visual Studio 2008 Express Editionsを使用しております。 先日作りかけのアプリのコードをいじっていて、複数の間違った記述をしたままデバッグをし、エラーの出るアプリになってしまいました。 どの記述が間違っているのか判別できないので、いじる前の段階のコードに戻そうと考えたのですが、 デバッグした状態が最新の状態となっておりますので、 これ以前の状態に戻す方法があれば、あるいはこのようなトラブルを回避する方法を教えて下さい。 よろしくお願いします。

  • .Net Frameworkのコードのデバッグ

    .Net Frameworkのコードをデバッグしたいのですが、ソース内へのステップインが出来ません。MSDNや他のWebサイトを参考にして、オプション設定とシンボルサーバーの登録は行いました。 https://referencesource.microsoft.com/setup.html マイコードで.Net Frameworkの関数をコールしている箇所でステップインしようとしても、中に入らずステップオーバーしてしまいます。何か設定が不足しているのでしょうか? MSのリファレンスソースのサイトからソースはDL出来るのですが、シンボルファイル(.pdb)は含まれていません。 開発環境はVisual Studio Professional 2017 です。

  • Perlのデバッグ方法って。。。ないでしょうか??_no

    こんにちは。よろしくお願いします。 Perl担当者の方が休まれているため、急遽、Perlシステムの修正作業を行うことになったPerl初心者の者です。 普段はASPを使っているので、デバッグ時に「response.write」など、処理内容をブラウザ上に表示させてしまう~などのことが可能なのですが。。。 Perlの場合、何か方法は無いでしょうか?? 多分、この変数とこの入力値の比較の時に不正があるんだろ??のような部分は発見したのですが。。。その値~の表示ができないので、確証が持てない&修正が容易ではないです。 Perlのデバッグは。。。どのように行っているのでしょうか。。。? ご存知の方いましたら、ご教授願えませんでしょうか。よろしくお願いします。 (エラーについての質問は別で立てさせていただきたいと思います。

    • ベストアンサー
    • Perl
  • perlのデータ構造? デバッグに使いたい

    Perlでよく ハッシュをprintした場合、 HASH(0x2241be4)と表示されますが、 こちらがハッシュを意識しなくてもだいたいの構造が わかるように整形・表示して、具体的な中身を 表示させたいのですが可能でしょうか?

    • ベストアンサー
    • Perl

専門家に質問してみよう