人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

CGIを設置したところ内部サーバーエラーでどうしても動かず、いろいろ調べて一行目の#!/usr/bin/perlの後に-wをつけたら動くようになりました。が、原因がなんで、なぜこの引数をつけたら動作するのかがわかりません。どういう原因だったんでしょう?

●質問者: kurailo
●カテゴリ:ビジネス・経営 コンピュータ
✍キーワード:CGI Perl エラー サーバー 引数
○ 状態 :終了
└ 回答数 : 6/6件

▽最新の回答へ

1 ● kanetetu
●0ポイント

http://allabout.co.jp/career/cgiperl/closeup/CU20040209B/

「CGI・Perl」サイト閉鎖のお知らせ - All About

こちらどうぞ。

◎質問者からの返答

うーん、私の読解力がないのかもしれませんが、こちらでは「なぜ-wをつけただけで動かなかったCGIが動くようになる場合があるのか」が分かりません。やはりこれだけの情報では原因は分からないでしょうか。


2 ● 浅倉卓司
●80ポイント

http://www.hatena.ne.jp/1080026992#

CGIを設置したところ内部サーバーエラーでどうしても動かず、いろいろ調べて一行目の#!/usr/bin/perlの後に-wをつけたら動くようになりました。が、原因がなんで、なぜこの.. - 人力検索はてな

一行目はshellが処理しているのですが、たいていのshellはLF(UNIXの改行コード)のみ受け付けて、CRLF(Windowsの改行コード)は受け付けないからです。

(正確にはCRを文字として処理しようとしてエラーになってるはず)

PerlはLFでもCRLFでも問題なく動きます。

――以上でよろしいでしょうか?

◎質問者からの返答

なるほど、.cgiファイルをうっかりアスキーモードで転送していなかったようです。今アスキーでやってみたところ、-wスイッチなしでも動きました。情けなや。ただ、どうして-wスイッチつけると動くんだろう・・・


3 ● keijis
●10ポイント

http://flex.ee.uec.ac.jp/texi/perl/perl_4.html

日本語 perl texinfo - Option

>-w : 識別子に関するさまざまな警告を出す

ということですので、これが動く原因とはならないのではないかと思われますが…

URLのところを参照して他のオプションを試してみるとか

してみたらもしかしするとわかるかも。

◎質問者からの返答

そうなんです。先ほどの回答者の方のおかげで単純なミスだったことが判明はしたんですが、なぜ-wスイッチで直るのかが今度は分からないですね・・・。


4 ● kanetetu
●20ポイント

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=5408&for...

すいませんでした。こちらにもありすが、はっきりとは書いていませんね。


5 ● あしか祭り実行委員長
●10ポイント

http://www.hatena.ne.jp/

はてな

URLはダミーですが、

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=5408&for...

ここのやり取りに、

「#!/usr/bin/perl の後ろに--のような文字をつけると改行コードに関係なく動くようで、実際に自宅サーバーでも動作するようになりました。しかし、#!/usr/bin/perlだけだと動きません。」

という記述があります。

結論が、アスキーモードで転送していなかったということですので、同じケースと考えられないでしょうか。

役に立たなければ、ポイント不要です。


1-5件表示/6件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ