• ベストアンサー

Perlがサーバー上でうごきません

htmlファイルには <html> <form action="form2.cgi" method="get"> 食品名1<input type="text"name="form1"> <br> 食品名2<input type="text"name="form2"> <input type="submit"value="送信"> </form> </html> cgiファイルには #! /usr/bin/perl require "cgi-lib.pl"; &ReadParse(); print "Content-type:text/html\n"; print "\n"; print "<html>\n"; print "<head>\n"; print "<title>フォーム</title>\n"; print "</head>\n"; print "<body>\n"; print "おいしい$in{'form1'}\n; print "まずい$in{'form2'}\n; print "</body>\n"; print "</html>\n"; exit; cgi-lib.plはサーバーにいれております。 どうしてうごかないのでしょうか。

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

  • ベストアンサー
  • pipipi523
  • ベストアンサー率40% (148/365)
回答No.4

スクリプト自体としては、 print "おいしい$in{'form1'}\n; print "まずい$in{'form2'}\n; で、 "が閉じられていませんね・・・

その他の回答 (3)

  • pipipi523
  • ベストアンサー率40% (148/365)
回答No.3

思いつくのは・・・ 1.パーミッションで実行権を設定してますか? 2.テキストモードでファイルをアップロードしました? (改行が、CR+LF(0x0d,0x0a)になっているとエラーになるようです) 3.#!/usr/bin/perlのところにperlが存在してますか? (telnetで"/usr/bin/perl -v"を実行してみてバージョンが表示される?) 4.同じディレクトリにcgi-lib.plは存在してますか? 5.cgi-lib.plの中に"sub ReadParse"がありますか? こんな感じです

abesouri
質問者

お礼

パーミッションOKです。 テキストモードでUPしました。 パールの位置指定は正確です。 同じディレクトリにcgi-lib.plはあります。 cgi-lib.plの中に"sub ReadParse"があります。 スクリプト自体は問題ないでしょうか。

  • PrintScree
  • ベストアンサー率25% (538/2091)
回答No.2

使用しているHTTPDはApacheですか?Apacheならerror.logのメッセージは英語だと思いますが… Linuxと仮定してエラー内容を見ると、CGIファイルのパーミッションが正しく設定されていないように思えます。 CGIファイルに実行権限を設定してみてください。

  • PrintScree
  • ベストアンサー率25% (538/2091)
回答No.1

使用しているHTTPDのエラーログにはなんと出ていますか? CGIの1行目を見る限り、UNIX/Linuxのようですが、OSを含めて実行環境(各ソフトのバージョン)を補足してください。

abesouri
質問者

お礼

サーバの内部エラー サーバの内部でエラーまたは設定上の問題が発生したため、リクエストを処理できませんでした。このディレクトリへの CGI アクセスが有効にされているかどうか、サーバの管理者にご確認ください。 とでてきます。どこが問題でしょうか。

関連するQ&A