• ベストアンサー

CGIの実行ができません

はじめまして。 現在、出欠表を作るためにperlを勉強しているのですが、 フォームの作り方を勉強しようと、本を参考に掲示板のプログラムを作った(写した?)のですが、 サーバーにupしても実行できず悩んでいます。 文法はpcheck.cgiというものを使って間違いないとでており、 権限も755にしているのでできないことは無いと思いますが、 なぜか500エラーがでてしまいます。 そのソースには他に使うファイルとして、log.txtというのがあるんですが、 自動生成されるのか分からなかったので、同一ディレクトリに つくり、666にしております。 考えられる原因はあるのでしょうか? 教えていただけたら幸いです。 必要でしたら、ソースを49にupしようと思います。

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

  • ベストアンサー
  • Ethersky
  • ベストアンサー率71% (168/235)
回答No.5

これ、前に質問してgooに違反で消されたやつですね。(ぉ そのとき回答してました。 残りのひとつは、 121行目 @pairs = sprit(/&/,$form_data); spritではなくsplitです。

aoichi
質問者

お礼

どうもありがとうございます;; 助かります!

その他の回答 (4)

  • marimo_cx
  • ベストアンサー率25% (873/3452)
回答No.4

ただのスペルミス2箇所のようです。 ちなみにソースの提供の仕方がここの規約違反の疑いがあります。

aoichi
質問者

お礼

1箇所発見することができました!ありがとうございます。 decodeがdecordeになっていたためサブルーチン名が違うので 実行できるわけないですね;; ただあと1箇所だけどうしても見つけられません><; よろしければ教えていただきたいのですが?

aoichi
質問者

補足

だったのですか^^; もっとよく見てみます。 ソースの提供の仕方を間違えているみたいでした。 気をつけます。

  • marimo_cx
  • ベストアンサー率25% (873/3452)
回答No.3

ソース見ないとわかりませんが、有りがちなところでソースに異常は無いけど、ソース中に日本語を使っていてShift-JISにしてるとか?

aoichi
質問者

補足

日本語を使用していますが、 どのあたりでShift-JISと記述しているのかも記述していないのかも、 判断できない状態です;; METAタグには入っていますが^^;

  • mio_design
  • ベストアンサー率25% (372/1457)
回答No.2

500 Internal Server Errorは、スクリプトのエラーです。よくあるミスが ・改行コード(LFになってますか?) ・カッコのミス(閉じ忘れなどありませんか) ・スペルミス ソース見直しても分からない場合は、CGI::Carpモジュールなどを一時的に組み込んで、エラー内容を表示させます。表示されるエラーを元にソースを追っていけば、原因がつかめると思います。 CGI::Carpモジュールの使い方は詳しく出てます(URL参照)

参考URL:
http://allabout.co.jp/career/cgiperl/closeup/CU20040209A/
aoichi
質問者

補足

mioさんがあげられたようなミスでは文法エラーはでないということでしょうか?^^; 今PCのほにperlを組み込んでいない状態なので、CGI::Carpを試せなくて;; これから組み込んでみます。 air"H"で非常に回線が遅いのでDLしあぐねてました。

noname#198951
noname#198951
回答No.1

ソースを見ないと判断が難しいですが、サーバ上のPerlのあるディレクトリに間違いは無いですか? できれば、ソースのアップとサーバ環境を書いた方が的確な回答が得られると思います。

aoichi
質問者

補足

サーバー環境については、さくらのレンタルサーバーという ところを有料で借りています。環境っていうのがどう書いていいものか わからなくて・・・すみません。 自作CGIは使用可能で、perlへのアドレスが/usr/bin/perl です。とくにアドレスは間違っていないと、check.cgiにでていました。

関連するQ&A