Perl CGIに、fairu.txtに「こんにちは」と書き込む、という動作をさせたいのですが、以下では500エラーになってしまいます。なぜでしょうか?(perlの所在とパーミッションは間違えていないとして)

#!/usr/local/bin/perl
open (OUT, "fairu.txt");
print OUT "こんにちは";
close (OUT);
exit;

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2007/04/13 04:07:34
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答6件)

id:b-wind No.1

回答回数3344ベストアンサー獲得回数440

ポイント1pt
#!/usr/local/bin/perl
open (OUT, ">fairu.txt") or die "Can't open file";
print OUT "こんにちは";
close (OUT) or die "Can't close file";
exit;
id:crashtruck

うーん、それでも500エラーになってしまいます。他の既成のCGIはちゃんと動くのですが。

2007/04/12 23:53:50
id:b-wind No.2

回答回数3344ベストアンサー獲得回数440

ポイント8pt

うーん、それでも500エラーになってしまいます。

エラーログにメッセージが出ているはずですから確認してみては?

id:herolight No.3

回答回数395ベストアンサー獲得回数19

ポイント18pt

http://apps.cside.com/support/faq/docs/1_04.html

fairu.txtのパーミッションかもしれません。

http://www.tohoho-web.com/wwwxx012.htm

id:pmakino No.4

回答回数358ベストアンサー獲得回数30

ポイント31pt

標準出力に何も出していないからだと思います。

exit する前に、何かしらの応答を返しましょう。

例えば

print "Content-Type: text/html\n\nOK";

id:crashtruck

おおっ、試してみます。

2007/04/13 04:05:46
id:nev No.5

回答回数77ベストアンサー獲得回数4

ポイント34pt

CGIですか?

標準出力に何も出力していないからブラウザから見ると500エラーになっているのでは。

最後に

print "Content-Type: text/plain\n\n";

print "ok";

とでも追加しておいてはいかがでしょう。

id:crashtruck

なるほど。

2007/04/13 04:06:15
id:lizy No.6

回答回数45ベストアンサー獲得回数14

ポイント18pt

CGI::Carpを使用して、もう少し詳しい情報を収集してみてはいかがでしょうか。

use CGI::Carp qw(fatalsToBrowser);

500エラー撲滅[基礎編] エラー内容をブラウザに表示 - [CGI・Perl]All About

id:crashtruck

リンク先有用でした。

2007/04/13 04:06:51

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません