プロが教える店舗&オフィスのセキュリティ対策術

 私は初心者です。本を見ながら付属CDに入っていた掲示板セットをアップロードしましたが正常に動作しませんでした。いろいろ試行錯誤をした結果、どうやら「CGI_Lite.pm」というものが原因らしく、それはPerlのバージョン4では使えないということまでは知りました。
 私のアップロードしているレンタルサーバのバージョンは6.5.1ですが、「CGI_Lite.pm」は機能しないのでしょうか?初心者故に的外れな質問かもしれませんが、どうか宜しくお願い致します。

A 回答 (3件)

Perlのバージョンが6.5.1というのは5.6.1の間違いですか?



CGI_Liteを使っているとのことですが、
CGI_Lite - Perl module to process and decode WWW forms and cookies. - search.cpan.org
http://search.cpan.org/~shgun/CGI_Lite-1.8/CGI_L …

↑これですか?
これによると、1997年のリリースを最後に手が入っていないようです。
Perl5.6.0のリリースが2001年なので、動かない可能性はあると思います。

なんという本を参考にされているのかわかりませんが、もうちょっと新しめの
本を探したほうがよいような気もします。

この回答への補足

 Perlのバージョンですが、レンタルサーバーの仕様欄には以下の通り書いてあります(コピー)。
「Perl のバージョン 2004年9月1日現在の Perl のバージョンは 6.5.1 になります。」
 これをそのまま信じて質問してしまいました。実際には存在しないのでしょうか?

 CGI_Liteですが、リンク先の物と同じ物のようです。私の使った本は確かに1999年10月発行のある古い本でした。調べるとCGI_Lite更新版のCGI::Liteというものが出ていましたので試しましたがやはりだめでした。
 

補足日時:2006/12/25 10:28
    • good
    • 0
この回答へのお礼

初心者の変な質問に、丁寧な御回答真に有り難う御座います。

お礼日時:2006/12/25 11:13

えー乗りかかった船ですのでついでに確認します。



・CGI_Lite なり、CGI::Lite なりを使わないCGIは正常に動作しますか?
・サーバーにアップロードする前に構文チェックはしていますか?
perl -c スクリプト名
とすると、実行はせずに構文チェックだけを行ってくれます。
実際にサーバーにアップロードする前にこれぐらいのチェックはしましょう。
・CGI.pmだと、コマンドラインから擬似的にパラメータを与えて実行させることができます。CGI::Lite/CGI_Liteでも多分できると思うのですが、
できたとして、その出力は期待通りのものですか?

最後にPerlのバージョンについて。
Perl のバージョン6は現在開発途上にあり、何年も前から
「いったいいつリリースされるのよ」とFAQになっているくらいです。
開発者用バージョンを除けば、最新のバージョンは5.8.8です。
ですから、6.5.1などというバージョンは存在しないはずなのです。
実際に使っているバージョンは、特殊変数 $] を出力するCGIを組めばわかります。
    • good
    • 0
この回答へのお礼

 再度の御回答真に有り難う御座います。

 CGI_Liteを使わないCGIは正常に動きました。また、他のサーバで試したところCGI_Liteも正常に動きました。かなり増刷されている本(増田 若奈著,自分でオリジナル掲示板を作ろう!)のCDでしたので、恐らくそのままでは問題ないはずですが・・・。
 問題のサーバで「スクリプトチェッカー」というサービスを利用したら「CGI_Liteが読めない」というような感じのエラーが出ました。そこで、調べている内にCGI_LiteはPerl5対応であるということから、サーバーの仕様に「Perl6.5.1」と書かれていたため、使えないのかと思いました。まだ存在しないバージョンを誤記しているとは思いもよりませんでした。
ところで折角お答えいただきましたが、私は「コマンドライン」という言葉がわからないような初心者ですので、更に問題が起きないよう、今回CGI_Liteはあきらめます。
 本当に有り難う御座いました。

お礼日時:2006/12/26 10:31

その後の話を読んでいると、動かしたいサーバーにCGI_Liteがインストールされていない


だけではないのかという気がするのですがその辺どうなのでしょう?
インストールされていないのなら、
use CGI_Lite;
の一行だけで失敗します。


あと、入力したスクリプトをいきなり本番のサーバーで動かして試してたりするんですか?
もしそうなら、それはちょっとやめたほうが。
コマンドラインで実行というのは、Windowsならコマンドプロンプト(DOSプロンプト)
を開いて、そこで perl スクリプト のように入力して実行するというものです。
    • good
    • 0
この回答へのお礼

 再度の御回答真に有り難う御座います。

 レンタルサーバーにCGI_Liteがインストールされている必要があるとのこと、全く確認しませんでした。(本にもかかれていませんでした)
 私は本に付属するCDの中に入っていた物をそのまま使っていたため、安全だと思い本番のサーバーで試していました。今回この分野は相当難しい作業だという事を知りましたので、今後は慎重に取り組みたいと思います。御回答いただき大変勉強になりました。有り難う御座いました。

お礼日時:2006/12/26 21:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!