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

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

回答の条件
  • 1人2回まで
  • 登録:2007/04/12 23:36:29
  • 終了:2007/04/13 04:07:34

回答(6件)

id:b-wind No.1

b-wind回答回数3344ベストアンサー獲得回数4402007/04/12 23:42:31

ポイント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

b-wind回答回数3344ベストアンサー獲得回数4402007/04/13 00:01:15

ポイント8pt

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

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

id:herolight No.3

herolight回答回数395ベストアンサー獲得回数192007/04/13 00:07:11

ポイント18pt

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

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

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

id:pmakino No.4

まきのっぴ回答回数355ベストアンサー獲得回数282007/04/13 00:51:42

ポイント31pt

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

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

例えば

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

id:crashtruck

おおっ、試してみます。

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

nev回答回数77ベストアンサー獲得回数42007/04/13 00:58:06

ポイント34pt

CGIですか?

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

最後に

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

print "ok";

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

id:crashtruck

なるほど。

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

lizy回答回数45ベストアンサー獲得回数142007/04/13 03:07:43

ポイント18pt

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

use CGI::Carp qw(fatalsToBrowser);

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

id:crashtruck

リンク先有用でした。

2007/04/13 04:06:51

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

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません