AN HTTPD ゲストブック/コメント集(2000年9月12日17:50)


Syber syber@mc.kcom.ne.jp 2000/09/14 14:03

mg-mailさん

私も、当初"cgi-bin.pl"を使用していたので、もしかしたらと思い
投稿しました。
現在は、オリジナル関数をパッケージ系にを使っているので・・。


mg-mail mg-mail@avis.ne.jp 2000/09/14 12:48

Syberさま、ありがとうございました。
中田さま、お騒がせして申し訳ございませんでした。
一番初めにチェックしなければならないタイプミスだったとは...お恥ずかしい限りです。
さっそく修正して試してみます。

みなさまの今後のご活躍を心よりお祈りしています。
ありがとうございました。


Syber syber@mc.kcom.ne.jp 2000/09/13 20:46

mg-mail さん

require "cgi-lid.pl";
上記は、
require "cgi-lib.pl";
の間違いでは?


mg-mail mg-mail@avis.ne.jp 2000/09/13 12:30

中田昭雄さま、アドバイスありがとうございました。
まず、エラーの内容は以下のとおりです。

 Error 500
 CGI エラー - Content-Type ヘッダが正しくありません。
 CGI 出力メッセージ:

 Can't locate cgi-lid.pl in @INC
 (@INC contains: C:/Perl/lib C:/Perl/site/lib .)
 at C:\ftp\cgi\cgi-usr\mg-mail_susume.cgi line 2.

cgi-lib.plがスクリプトと同じフォルダにあるのは確認済みですし、念のためC:\Perl/lib と C:\Perl\site\lib にも入れて試してみましたが、結果は同じでした。

スクリプトの冒頭部分は、
 #!/usr/local/bin/perl5
 require "cgi-lid.pl";
 require "jcode.pl";
 require "mg_routine.pl";
 &ReadParse;
です。

何かとても初歩的なミスをしているのではないかと不安にもなってきますが、どこか思い当たる個所はありますでしょうか。


中田昭雄 nakata@st.rim.or.jp 2000/09/12 21:25

mg-mail さん、
たぶん AN HTTPD の設定の問題ではないと思います。
@INC(インクルードパス)の中に cgi-lib.pl がみつからない、というエラーですから、文字通りには cgi-lib.pl の置き場所が不適切なのでしょう。
require 'cgi-lib.pl' と書いてあるスクリプトがあるのと同じフォルダに cgi-lib.pl があるでしょうか?

また、@INC の内容は、DOSプロンプトで perl -V ( V は大文字)とすることでわかります。
私の場合は、Perl を F:\Perl にインストールしたので、

 @INC 
  F:/Perl/lib
  F:/Perl/site/lib
  .
となっています。最後の . (ドット)はカレントディレクトリということです。
この場合、require 'cgi-lib.pl' の行で、

F:\Perl\lib, F:\Perl\site\lib, カレントディレクトリ

の順番に cgi-lib.pl をさがします。
したがって、cgi-lib.pl を たとえば F:\Perl\site\lib に入れておけば自動的にみつけてくれます。


mg-mail mg-mail@avis.ne.jp 2000/09/12 17:50

はじめまして。
CGIのローカルテスト用に、以前から115bを利用させていただいていました。
最近HDの調子が悪かったので、先日初期化したのを機に、最新の130fをインストールしたのですが、なぜかcgi-lib.plを認識しなくなってしまいました。
エラーは“Can't locate cgi-lib.pl in @INC…”です。
cgi-lib.plは、CGIスクリプトと同じフォルダに入っています。
“require 'cgi-lib.pl';”を、“require './cgi-lib.pl';”などに書き換えたり、念のためcgi-lib.plをダウンロードしなおしたりしてみましたが、結果は同じでした。
オリジナルのmg_routine.plというライブラリがあるのですが、これは正常に動いています。
まったく同じ記述で115bでは正常でしたので、130fの設定がどこかいけないのでしょうか。
動作環境はWin98/ActivePerl 5.6(617)です。
恐れ入りますが、アドバイスいただけると助かります。
お願いいたします。