• ベストアンサー
  • すぐに回答を!

perlがうごきません

  • 質問No.2498909
  • 閲覧数81
  • ありがとう数0
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 5% (59/1075)

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はサーバーにいれております。

どうしてうごかないのでしょうか。
perlの場所も正確です。

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

  • 回答No.2
  • ベストアンサー

ベストアンサー率 67% (545/803)

 以下補足要求
1.エラーが出るのならステータスコードを教えてください
2. FTP転送時にasciiモード(FTPソフトによってはtextモードとも言う)で送りましたか?
3. パーミッションは取り合えず最も普遍的な 755にしてみてください
4.  2.3.を確認しても駄目なら スクリプトの末尾に
BEGIN{use CGI::Carp qw(fatalsToBrowser);}
と追加してみてください
表示されたメッセージがあれば 補足に貼り付けてください

##以下、上の説明
1. ステータスコードとは サーバーから返される 404、500などの数字ですが
http://www.studyinghttp.net/status_code <=ここが詳しい
ブラウザのタイトル欄に表示されなければ
 MSIEの場合なら ツール>インターネットオプション>詳細設定>
 「HTTPエラーメッセージを簡易表示する 」<=これのチェックを外してからMSIEを再起動し 問題のCGIにアクセスし直してください

2. windows、MAC、UNIXの改行コード(Content-type: text/html\n\n の\n がそれです)
 はそれぞれ違います。
 上の書き方ではwindowsは \r\n macは\rだけ unixは\nだけ
 asciiモードで転送しないと そのまま送られてしまいますので例えばwindowsからだと 正しいperlのパスであっても
#! /usr/bin/perl\r\n となり unixは/usr/bin/perlではなく /usr/bin/perl\r を探しに言ってしまい、当然見つかりませんのでエラーに成ります。

3. サーバーによっては .cgiのパーミッションが700でも動いたり
  777でも動いちゃったりします(<=これはすごく危険ですが)
  あるいはごく稀にグループ権限で動く場合もあるらしいです
 それらの場合でも最大公約数的に755なら動きます

4. これは perlのエラーメッセージを画面に表示するルーチンです
  デバッグが終了したら消去しても構いません。
http://perldoc.jp/docs/modules/CGI.pm-2.89/CGI/Carp.pod

その他の回答 (全1件)

  • 回答No.1

ベストアンサー率 51% (231/445)

リスト見た限りでは何が悪いのか発見できなかったので、コピペして手元のテスト用サーバで実験してみましたが、やはり正常稼動しました。
・CGIは許可されているのか
・ファイル名は間違えていないのか
・パーミッションは正確に設定されているか
・確認時のURLは正確か
・動かないとはどういう症状か
状況を正確にお願いいたします。
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ