10秒目をつむったら…

いつもお世話になっています。

HP制作をしており、やむを得ずPerl・CGIを勉強しています。
初めて3日目くらいの超初心者です。
大変基本的な質問で申し訳ないのですが、
PerlとActive Perlの違いが知りたいのです。

CGI自体はプログラミングされているものを購入して使うつもりで、今設置作業をしているのですが、Perlのことがあまりにも分からないので、「はじめてのPerl/CGIプログラミング」という本も読みながら進めています。

そのCGI開発元では環境条件として「Perl 5.00503以上がインストールされていること」とあるのですが、これはActivePerlとは別ですか?
本「はじめてのPerl/CGIプログラミング」にはActivePerl-5.8.7.813をインストールできるCDが付属しているので、可能ならこのActive Perlを使いたいのですが、無理なのでしょうか?

基本的な質問で申し訳ありませんが、どうぞよろしくお願いいたします。

A 回答 (2件)

横から失礼します。



Perlについて
 Perlはプログラム言語です。
 Perlの言語仕様にしたがって記述されたプログラム(手順書)を解釈実行するプログラムです。
 HTMLで書かれた内容を解釈処理して表示するIEやOperaのようなブラウザに相当するプログラムと考えてください。

PerlとActivePerlの違い
 もとはUNIXシステム管理用に作られた広義のプログラム言語をPerlと呼称し、ActivePerlはActiveState社が開発したWindows上で動作するPerlの処理プログラムです。Perl5については開発者の「Larry Wallによる簡単なPerl史」で検索してみてください。
 ブラウザにも種類があるのと同じです。
 もともとPerlはUNIXというシステム上で開発されたものですので、Windows上で利用するには無理な点があります。
たとえばディレクトリの階層表記等、UNIXでは「/home/hogehoge/public_html/robots.txt」、Windowsでは「c:\home\hogehoge\public_html\robots.txt」のような相違です。
よってWindows用に作成されたActivePerlのプログラムはUNIX上では動作しないケースが発生します(Windows用ソフトがMac上でそのままでは動作しないのと同じ)。

CGIを稼動させるサーバのOSが何でPerlのバージョンがどうなのかはわかりませんが、下位互換を意識して制作するならほぼ大丈夫かと思います。 ただ、5.8独自の機能を使って制作したプログラムはそれ以下のバージョン環境で正常動作しません。
ホームページにたとえると、最近のCSSやAjaxを駆使したホームページでは、同じメーカーのブラウザでも動作させる環境やバージョンが異なると表示自体もがらりと変わってしまうのと同じことです。シンプルなHTMLで構成されたページであればどれでも同じ表示になりますよね。

ただ、練習程度のCGIならバージョンはあまり問題にならないかもしれません。
そちらよりも環境構築やCUIの使い勝手が大変かと思いますのでがんばってください。
浅学なもので間違いがあったらすいません。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

大変詳しくお教えいただき、とても助かりました。
お礼が遅くなり、申し訳ありませんでした。

お教えいただいたことをもとに頑張って勉強してみます。
また何か質問を投稿させていただくかもしれませんので、
ご縁があればそのときはどうぞよろしくお願いします。

ありがとうございました!

お礼日時:2008/02/13 14:28

同じものです。



Perlという規格(言語)を実際に使えるように形にしたものの内のひとつがActivePerlです。本についているのがあればそれを使ってください。
    • good
    • 0
この回答へのお礼

早々に的確なお返事ありがとうございます!

本の中に、「Perlインタプリタ」という言葉が出てくるのですが、
「Perlという規格を実際に使えるように形にしたもの」=Perlインタプリタ=ActivePerl

という解釈でいいのでしょうか?

度々で恐縮ですが、ご回答いただけると助かります。

お礼日時:2008/02/01 17:05

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