cgi-lib.plがうまく動作しない

[上に] [前に] [次に]
ケンヤム [E-Mail] 1999/09/30(木) 19:49:00
現在、WinNT、ActivePerl(5.0)環境下で開発しています。
初心者なので、CGIのための実践入門Perl(技術評論社)という本を片手に頑張っています。この本は、Perl for Win32で説明してあるせいか
うまく自分の端末で"cgi-lib.pl"が働きません。
(line 114 でエラーになっているのですが..)(+_+)
もともと、ActivePerlにはこのファイルがなかったので、この本からこのファイルを、必要なディレクトリにコピーしました。
これは、verの違いですか?(verの違いなら5.0用のライブラリは有るのでしょうか?)
どなたかご存知でしたら、お教え願いませんでしょうか?m(__)m

時司 [E-Mail] [HomePage] 1999/10/01(金) 03:29:13
iisをお使いということでしたら、以下のチェックを行ってみてください。
その1.インストールディレクトリーの確認。
iisではcgiファイルの存在するディレクトリーにコマンドラインを通すかpathを通さなければ成りません。
chdir ("cgiのあるディレクトリー");
ex chdir ("D:/HTML/cgi/cgi-bin/bbs/");
をcgiの最初の部分に追加してみてください。

その2.cgi-libのの存在位置が正しいかどうか
cgiの設置位置を基準とした総体パス記述するのがいいと思われます。

その3.ライブラリーのバージョンを確認する。
最新ライブラリーを使用しているかどうか確認してください。
#現在、cgi-lib.plの後継版としてcgi.pmというものもあるみたいですがうちでは動作してません

その4.ソース自体がおかしい・・・
私は、他所からの借り物を動かしているに過ぎないのでこれは他の詳しいかたにご質問なさるのがよろしいでしょう。

以上です

ケンヤム [E-Mail] 1999/10/01(金) 20:19:38
ご助言、有り難うございます。m(__)m

さっそく試しましたが、なにやら原因がわからないので(perlの
Verの違いと思うのですが..)とりあえずperlをアンインストール
して、旧バージョンでやってみます。(@_@)

ケンヤム [E-Mail] 1999/10/06(水) 18:17:07
[[解決]]
解決マークを忘れていました。(*_*)

げんごろ 1999/10/08(金) 03:27:48
解決してる問題のようですが・・・

WinNTでは、cgi-lib.plなどのライブラリを、スクリプト中で
requireで呼び出すときには、
相対パス(./cgi-lib.pl)ではなく絶対パス(http://〜/hoge.cgi)
で呼び出す必要があるとか聞いたことがあります。

・・・確かではありませんが。(^_^;)

げんごろ 1999/10/08(金) 03:29:45
・・・あ、間違えてます。(^_^;)
(http//〜/cgi-lib.pl)ですね。

ふじ 1999/10/08(金) 13:58:45
>相対パス(./cgi-lib.pl)ではなく絶対パス(http://〜/hoge.cgi)
>で呼び出す必要があるとか聞いたことがあります。
「絶対パス」の意味を勘違いしてます。

require は、ローカルのファイルを読むのだから、URLで指定するのではなくて
require "D:/inetpub/scripts/hoge.cgi";
と、ファイルシステムでの「絶対パス」で指定するのです。

[上に] [前に] [次に]