• ベストアンサー

cgiで拡張子.cgiと拡張子.plの違いってなんですか?

標記の違いはなんでしょうか? 私の使っているサーバがどうも.plしか対応しておらず、困っています。もし、cgiのスクリプトを変形して使えるのであればその方法も教えていただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • hikomin
  • ベストアンサー率63% (40/63)
回答No.2

普通のウェブサーバでは、.cgiはCGIプログラムを見分ける為に使います。つまり、使用言語に関わらず、CでもPerlでもPHPでも、『CGIで』動かすなら.cgiを判断基準にする場合が多いです。これはサーバの設定次第なので、もし設定で.plになっているだけなら、PerlだろうとCだろうと.plで動くと言う事です。(但し、Perl以外の動作環境があるかどうかはサーバ次第です。) また、普通のウェブサーバでは、.plはPerlコードをウェブサーバが直接解釈する時に使ったりもします。これはCGIのように外部プロセスを起動するのではなく、mod_perl等を用いてウェブサーバ内で解釈してしまうものです。サーバにmod_perlがインストールされている事が前提です。 前者であれば、配付されているCGI等も.cgiを.plに変えて、後は普通に設置すれば動くのがほとんどでしょう。(動かないとすれば別の理由が有力かと思います。)後者であれば、場合によっては若干手を加えなければならないかもしれません。

moumougoo
質問者

お礼

なるほど、どうも少しうまくいかない場合があったのですが、Perlに入っているモジュールなどの関係ということなんですね。 ありがとうございます。これで安心して困ることができます。:-)

その他の回答 (1)

  • Ethersky
  • ベストアンサー率71% (168/235)
回答No.1

「作者側の都合」というか.cgiは本体等で.plは本体が使うモジュール等のライブラリとしてそれらを区別する意味で付けられている場合がほとんどです。(Perlの場合) 他に意味はありません。 有名なjcode.plも日本語文字コードを変換するためのライブラリ、つまり”モジュール”ですからこのように.plにされています。 元々、.plはPerlスクリプトの拡張子として使われてきたものですので、CGIとしてPerlスクリプトを使うときは.cgiという拡張子に変えるというのが習慣というか世間一般で皆がそうしているからそうしてるということです。 ですから、サーバーの運営側がCGIの拡張子を.plにしろといっているのならそれに従って.plに拡張子を書き換えれば済む話です。

moumougoo
質問者

お礼

ありがとうございます。 基本は書き換えればなんとかなる!ということでいろいろやってみたいと思います。 すぐに回答をいただいて、実際にやってみよう!と元気をもらえた気がします。ありがとうございます。

関連するQ&A