萌えPerl
しきり線
大項目 そもそもなんでPerlなのかしら
インタプリたん
 ではなぜ数ある言語の中からParlなのでしょう。

 それは「インターネットで使える」言語だからです。

 他にも、PHPやJava,Rubyとかもありますが、個人でプロバイダー契約を結んでホームペー ジを運用している環境ではまだそうでもないようです。
 というわけで、ここではひとまずPerlのお話をします。

 ところで、あくまで私個人の感想なのですが、個人でネットをしている場合、ホームページ を作るためにHTMLを覚えて、さあ次に何をしようといったときに、本屋さんとかで「イン タラクティブななにかをCGIでなんとか」みたいな本に出会うと思うんです。
 そして、読んでみるとなんだか良く分からなかったり、せいぜいサンプルをコピペして指示 通りに転送して設定して、カウンターや掲示板ができました、という具合に、結局よく分 からなくて、それ以上の使い道が見つからなかったり、そもそもCGIって何?みたいになって しまうことが多いように思います。

 Perlって結構いろんなことが出来ると思うのですが、はっきり言って「HTML覚えたし次に 何をしよう」っていうノリで突入するには厳しい言語だと思います。
 プログラムとして最初に触れるならVisual Basicが分かりやすいか、手軽と言う点では JavaScriptかVBA(Visual Basic for Applications)かしら。タダだし。個人的にはフリーウ ェアのHSPがお勧めです。あと妙な基礎知識がなければFlashのActionScriptが一番面白い かもです。

中項目 CGIってなに?
インタプリたん
 ところでよくCGIと言いますが、これは何なのでしょう、CGIというプログラミング言語? 何?と思われたことは無いでしょうか。
 一時期はPerl=CGIの同義語としても良いようなこともあったのですが、正確に言うと言語 ではなくて仕組みの総称のことです。

 CGIとは、ブラウザからの指示で、WWWサーバを経由して何らかのプログラムを呼び出し、 その結果をブラウザに返す仕組みです。

 この「何らかのプログラム」が「Perlで書かれたプログラム」で、「呼び出される先」が 「プロバイダーの会社の中にある大きなコンピューター」だったりします。
 このとき「何らかのプログラム」はPerl以外のものでも良いのですが、だいたいのプロバ イダーが一般ユーザーにはPerlしか使えないようにしているので、本屋さんで売られてい る「インタラクティブななにかをCGIでなんとか」という類の本にはPerlのことが載って います。

中項目 インタプリタっていうなにか
インタプリたん
 えへっ、私のことです。
 このへんは覚えなくても今のところ特に困らないのですが軽く触れておきます。
 プログラミング言語はテキストで書いたものをコンピューターに見せて実行させるわけで すが、そのまま見せてもコンピューター的には何のことか理解できません。
 そのため、テキストファイルとコンピューターの間には通訳するプログラムがいます。

 というわけでプログラミング言語には以下の2タイプがあります。
  1. テキストファイルを全部コンピューター用の機械語に翻訳したファイルに直して、その後でそのファイルをを実行する。
  2. テキストファイルを翻訳しながら随時実行を行う。

 1の翻訳をコンパイルと呼び、できたものをオブジェクトとか実行ファイルと呼びます。
 例えばWindowsのソフトで拡張子が.exeになっているものはこれにあたります。こうなっ てしまうともとのテキストは見ることが出来ません。
 通訳係のコンパイラが必要ですが、コンパイルした後では単体で実行可能です。
 2はスクリプト言語と言います。翻訳しながら実行するのでスピードが遅いのですが、コ ンパイルする手間がなく手軽に扱えます。スピードを重視するプログラムでなければこち らの方が便利です。通訳係のインタプリタがいないと動きません。
 Perlは2のスクリプト言語です。

中項目 サーバーとクライアント
インタプリたん
 よく聴く言葉ですが、念のため触れておきます。

  • サーバー:いろんな機能を【提供する】コンピューター。
  • クライアント:色んな機能を【利用する】コンピューター。

 とでも言いましょうか。
 言葉の意味が広くて状況によって呼び方も細分化されているので上手くは言えないのです が、例えばネットサーフィンする場合では「プロバイダーの会社の中にある大きなコンピ ューター」がサーバーで、私たちのパソコンが「クライアント」です。
 私たちのパソコン(クライアント)が「あそこのホームページを見せて」と言ってURLを 知らせれば、プロバイダーの会社の中にある大きなコンピューター(サーバー)が「はい よ、このページね」と言って、画像や文字データーを送ってくれます。
 同じように「メール」って言えばメールのデーターを送ってくれるし、「ファイル」って 言えばファイルを送ってくれます。
 このようにサーバーは色んな機能を持っていて、その機能ごとにWWWサーバとかSMTPサー バ、POPサーバ、FTPサーバとか細かく言い分けたりもしますが、まあ、そんな細かいこと は今のところどうでも良いです。
 このように、サーバーは常時電源入れっぱなしにしておいて、多くのクライアントか らの要求がある度にデーターを送信したりするので丈夫なコンピューターを使います。
 だからサーバー用コンピューターというのはおっきくて高いのですが、サーバーのソフト さえあれば自宅のパソコンでもサーバーの機能は実装できます。ただ、アクセスが増えた ら耐えられなかったり、毎日電源入れっぱなしだと故障もしやすいかもです。
 さて、ここでCGIとの関係なのですが、ホームページを見るときにはクライアントが「ホ ームページ」って言えばサーバーは画像や文字のデーターを送るだけだったのに対して、 「CGIのページ」って言ったときには、いったん自分の中でPerlで書かれたプログラムを 処理してからその結果出来上がった画像や文字のデーターを送ります。
 だから、サーバー的にはHTMLのページの要求よりもしんどい仕事をすることになりま す。なので、プロバイダーではCGIの使用を許可していないところも多いです。
 ここでは自分の契約しているプロバイダーがCGIの使用を許可している、またはそういう プロバイダーやレンタルサーバーと新しく契約を結ぶことを前提に話を進めてゆきます。


「10日で〜」とか「できる〜」、「〜入門」という響きが恥ずかしいと感じるかもしれ ないですが、バカバカしいと思いつつもやっぱり最初はお世話になるものです。
踏み台として買う本ですが、意外と後から見直したりすることもあります。




個人的な意見ですが、これらの入門書を読破したあとはネットでググれば大体のことは解 決すると思います。