• ベストアンサー

Perl5とActivePerl

いつもお世話になっています。 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を使いたいのですが、無理なのでしょうか? 基本的な質問で申し訳ありませんが、どうぞよろしくお願いいたします。

noname#127702
noname#127702
  • CGI
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
  • ralf124c
  • ベストアンサー率52% (232/446)
回答No.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の使い勝手が大変かと思いますのでがんばってください。 浅学なもので間違いがあったらすいません。

noname#127702
質問者

お礼

ご回答ありがとうございます。 大変詳しくお教えいただき、とても助かりました。 お礼が遅くなり、申し訳ありませんでした。 お教えいただいたことをもとに頑張って勉強してみます。 また何か質問を投稿させていただくかもしれませんので、 ご縁があればそのときはどうぞよろしくお願いします。 ありがとうございました!

その他の回答 (1)

  • okg00
  • ベストアンサー率39% (1322/3338)
回答No.1

同じものです。 Perlという規格(言語)を実際に使えるように形にしたものの内のひとつがActivePerlです。本についているのがあればそれを使ってください。

noname#127702
質問者

お礼

早々に的確なお返事ありがとうございます! 本の中に、「Perlインタプリタ」という言葉が出てくるのですが、 「Perlという規格を実際に使えるように形にしたもの」=Perlインタプリタ=ActivePerl という解釈でいいのでしょうか? 度々で恐縮ですが、ご回答いただけると助かります。

関連するQ&A

  • Perlの学習に適した本

    うまくいけばCGIを設置でき、UNIXの操作もある程度はできる。プログラミングの経験も少しだけある。けれどPerlを自分で書くことは今の段階でできない、という程度のスキルの人が、Perlを習得するのに適した書籍があったら教えていただきたいのです。それがなければ、どんな本でPerlを勉強したことがあるか、よかったら教えてください。

    • ベストアンサー
    • CGI
  • Perlが働かない

    CGIのプログラミングを始めるためにApacheとActive Perlをインストールしたのですが、CGIをIEから開いてもPerlが働かず、 そのままソースが表示されてしまうのですが、どうしたらよいでしょうか。 ちなみにWindows XPを使っています。

    • ベストアンサー
    • Perl
  • 1行目、Perlの宣言

    ActivePerlをC:\Perlにインストールしました。するとperl.exeはC:\Perl\bin\perlにありました。 そこでCGIファイルの1行目に   #! C:/Perl/bin/perl としましたが、実行してみるとコードがそのまま表示されてしまいます。 「Perl」と大文字を含むからかと「P」を小文字に変えてみたり、あるいは「/」を「\」にしてみたりと試しましたが、やはり機能しません。 httpd.confは教科書に書いてある通りに書き換えました。 何が原因でCGIがまともに動かないのでしょう。 OSはWindows Vista、Apacheは2.0.54、ActivePerlは5.8.7.813です。

    • ベストアンサー
    • CGI
  • Perlはそのまま使えますか?

    Perlが使用可能なレンタルサーバを借りて CGI練習しようと思っています 自宅PCでテストする場合は ActivePerlとApacheをインストールして使いますが サーバの場合はこの準備ができるのでしょうか? テキストエディタでアップすればプログラムが間違っていなければ ソフトインストールは不必要なのか知りたいです 試してみるのも手ですが変なことすると サーバにとってよくないと本に書いてあるので一応質問します

    • ベストアンサー
    • Perl
  • ActivePerlとApacheを自分のPCにインストールしたのですが・・・。

    お願いします。 ActivePerlとApacheを自分のPCにインストールし、 CGIのテストを試みました。 Apacheのインストールは上手くいったのですが、ActivePerl がどうもうまく動きません。 Perlのインストール後、環境変数を Path→「C:\Perl\bin\;C:\Perl\bin;C:\Perl\bin\」に変更、 htdocsフォルダ内にメモ帳で記述したhello.cgiを保存後、 ブラウザにh t tp://localhost/hello.cgiと入力しても ファイルが見つかりませんと返されます。 ちなみにhello.cgiの中身は #!C:/Perl/bin/perl print "Content-Type: text/html\n\n"; print "<html>\n"; print "<body>\n"; print "<h1>Hello World!</h1>\n"; print "</body>\n"; print "</html>\n"; exit; です。使用マシンはWIN XPで ActivePerlのバージョンは5.8.8,Apacheは2.2.4です。 何か助言がございましたらよろしくお願いします。

    • ベストアンサー
    • Perl
  • ActivePerlをインストールしたいんですが、Apacheを使っています。

    サーバはApache1.3.24です。ActivePerl5.6.1をインストールしたいのですが、全然分かりません。pathとかの設定は必要なんですか?また、どのように、実行するとか、どこに、perlのプログラムを保存するとか、分かりません。 1通り、分からないのですが。。。教えて下さい。良いホームページでもいいです。自分では、良いホームページを見つけることができませんでした。 基本的なことは分かっていますが、perlは全然知らないので。。お願いします。httpd.confとかも設定するのですか?

    • ベストアンサー
    • Perl
  • ubuntuとperlについて

    私は今、ubuntuを勉強しているのですが、ubuntuにはもともと、 perlを使えるようなソフトが入っていると本に書いてあったのですが、 ubuntuに標準で入っているソフトはactiveperlなどと同じようなプログラミングができるのでしょうか? また、perlのコードを記述する際、初心者でも使えるようなおすすめのテキストエディタなどがありましたら、教えてください。

  • activeperl5.6が起動できない

    activeperl5.6が動きません。 activeperlをインストールして、apacheのhttpd.confの中身を本を参考に編集しました。 sampleのhello.plというファイルを自分の環境ではc:\www\cgi-binというフォルダーの中にいれ、 ScriptAlias /cgi-bin/ "C:/www/cgi-bin" <Directory "C:/www/cgi-bin"> AllowOverride None Options None AddHandler cgi-script .cgi .pl でcgiの実行を許可して AddType application/x-httpd-cgi .cgi AddType application/x-httpd-cgi .pl で拡張子とperlを関連付けています。 browserからたとえばhttp://localhost/hello.plを入力すると 実行が許可されていないとブラウザーで表示されます。 Forbidden You don't have permission to access /test.pl on this server. Apache/1.3.39 Server at localhost Port 80 アパッチのエラーログを見ると、 [error] [client 127.0.0.1] couldn't spawn child process: c:/

    • ベストアンサー
    • CGI
  • windowsでperl

    perlに関する知識に乏しい者ですが質問です。 windowsserver2008にactiveperl5.8.9をインストールしました。 とあるperlプログラムをcgiで動かそうと、apacheもインストールしました。 ですが、サーバーにアクセスするとそのperlプログラム中のgetpwnamという 関数?が実装されていないとエラーがはかれていました。 getpwnamをググってみたのですが、 この関数はwindowsでは実装されてないようです。 なんとかgetpwnamのエラーを解決できないでしょうか? PPMで、必要なモジュールをインストールすれば解決できるレベルであれば、 どれをインストールすればよいのか教えていただけると幸いです。

    • ベストアンサー
    • Perl
  • perlパス

    Windows2000機でWebServerを建てたのですが、CGIが認識しません。 WEBサーバーのクライアントソフトはApacheで 普通にHTMLは見れています。 perlをインストールした場所は C:\usr\local で VerはActivePerl 5.8.8.822 for Windows (x86)です。 場所は↑なのでCGIファイルのperlのパスはそのままいじらず、 perlのパスは#!/usr/local/bin/perl です。 一応#!C:/~以下   もやりましたがだめで、 CGIのテキストが表示されています。 色々調べてやったのですがどうもうまくいかず 教えていただけませんか