◆ はじめに
私ことちゃいちゃんパパは、C言語でのCGIプログラムは仕事で結構やっていますが、perlは全くやっていません。カウンタ&掲示板CGIはプロバイダでC言語が使用出来ないので、しかたなく見よう見まねでperlプログラミングしました。しかし今回、KENTさんのCGI-Perlプログラムにふれ、素晴らしいと思い、本格的にperlの勉強を決心いたしました。
KENTさんのCGI-Perl”fantasyボード”を、その日の”なりゆき”(暇時間まかせ)で、スッテプ毎に理解していきたいと思います。また、メニューのサブタイトルもその時その時、ふさわしいサブタイトル考えることに致します。理解の優先順位は以下の通りです。
- perlの言語仕様の理解
- fantasyボードのロジックの理解
- fantasyボードの関連技術情報の理解(クッキー等の用語説明)
CGI-Perl初心者の方にも理解できるように説明する予定です。
なにせ、本人(ちゃいちゃんパパ自身)が初心者ですので...。
尚、本企画に関しては、KENTさんの許可を頂いております。
fantasyボードの著作権はもちろんKENT WEBのKENTさんにあります。
また、今は、CGI-Perlは、もちろん、HTML、スタイルシート、JavaScriptにも力を入れていますので、そちらも是非ご覧ください!あと、CGI-Perlは、もちろん、Web関係すべてについての質問掲示板、WEB相談室があります。是非ご利用ください!
◆ 更新記録
本サイトの最新情報の『燈明日記』です。
本コンテンツは、ちょっと古いです。
最新のPerlコンテンツ『Perlノート』の方がおすすめです!!
◆ メニュー
- とりあえず、CGI設置をしたい人のために
- 前文
- 本文
- 初期設定&メイン処理 (99/10/21 UP)
- アクセス制限処理 (99/10/25 UP)
- 記事表示処理 (99/10/28 UP)
- 書きこみ処理 (00/01/18 UP)
- ワード検索処理 (00/01/18 UP)
- 管理モード処理 (00/01/20 UP)
- 返信レスフォーム、使い方表示、ユーザ記事削除の各々の処理 (00/01/20 UP)
- フォームからのデータ処理(URLデコード) (00/01/21 UP)
- HTMLヘッダ、ブラウザ情報からフォーム長を定義、エラー処理 (00/01/25 UP)
- クッキーの発行処理&クッキーを取得処理 (00/01/25 UP)
- ホスト名取得処理 (00/01/28 UP)
- 削除キーの暗号化と照合処理 (00/01/28 UP)
- ロックファイル処理 (00/02/02 UP)
- メール送信&イメージ表示&一時ファイル定義処理 (00/02/02 UP)
- CGI-Perlの重要キーワード
- URLエンコード
- クッキー
- 環境変数
- コンテキスト(00/02/08 UP)
- 型グロブ(00/02/10 UP)
- sendmailコマンドの使い方(00/02/10 UP)
- 正規表現(基礎編1)(00/02/16 UP)
- 正規表現(基礎編2)(00/03/13 UP)
- ソート(sort関数)(00/03/18 UP)
- イヴァル(eval関数)(00/03/18 UP)
- Perl リファレンス
- 後文
◆ fantasyボードの紹介
- 今回ステップ毎に理解するCGI-Perlプログラムは、KENT WEBで今人気のFantasy Boardです!!
- アイコンを使用し、各記事をふきだし式にした楽しいゲストブックです。
- サンプルは以下にあります。
Fantasy Board - ソースプログラムリストは以下にあります。
Fantasy Boardソースリスト - Fantasy Boardの機能的な特長は以下のとおりです。
- アイコン式のゲストブックで、各記事はアイコンからのふきだし式にしたデザインとなっています。
- すべての記事に管理人は「返信レス」をつけることができます。
- ログの処理を従来のように一気に配列化して読み込むのではなく、1件1件処理するように改良しましたのでサーバ負荷が少なく軽快に動作します。
- 投稿記事を管理人に自動でメール通知させることできます。(sendmailの使えるプロバイダ)
- クッキー対応や管理人による記事削除が可能です。
- キーワードから過去の投稿記事のワード検索を行うことができます。
「本セクションは、KENT WEBを参考にさせてもらいました。」
◆ CGIとPerlについての概要
CGIとは?
CGIとはCommon Gateway Interfaceの略です。 通常のHTML記述ではあらかじめ用意された文章や絵を表示するだけですが、CGIを用いることにより、例えば次のようなことが可能になります。
- カウンター
- チャット
- 掲示板
- アンケートフォーム
CGI処理の流れは次のようになります。
|
−要求→ ←結果− |
|
−起動→ ←結果− |
|
(1)ブラウザがWWWサーバーに要求する:ブラウザは特に「CGIを起動する」とは意識しません。<A HREF="〜"> や <IMG SRC="〜"> や <FORM ACTION="〜"> で記述されたURLを単にサーバーに要求するだけです。
(2)サーバーがCGIスクリプトを起動する:サーバーは受け取ったURLを見て、これがCGIスクリプトかどうか判断し、CGIスクリプトであるならこれを起動します。判断の基準は拡張子が .cgi であるとかですが、サーバーの設定やプロバイダによって異なります。CGIをサポートしていないサーバーやプロバイダもあります。
(3)CGIスクリプトは結果を返す:CGIスクリプトは標準出力に実行の結果を書き出します。WWWサーバーがこれをブラウザに結果として返し、ブラウザはこれを表示します。
CGIスクリプトは一種のプログラムです。言語は perl, シェル(bsh, cshなど), C言語, C++言語なんでもかまいませんが、最も広く用いられているのは perl という言語です。
Perlとは?
UNIX上で開発されたファイル処理コマンドです。C言語と似た構文をもち、フリーソフトとして配布されています。
C言語、Cシェル、sed、awk等の流れを汲み、まさにUNIXの申し子みたいな言語です。
「本セクションは、とほほのWWW入門を参考にさせてもらいました。」
◆ おわりに
終わりに CGI-Perl 関連のサイトとPerl本をご紹介致します。
皆、素晴らしいサイトなので、本サイトのことを忘れないでください!
サイトを紹介
- 68user's page
知る人ぞ知るページ、たまにWeb相談室にも顔を出してくれます。(UNIX,CGI,ソケット関係) - Perlメモ
こちらも、知る人ぞ知るページ、正規表現は圧巻! - 河馬屋二千年堂
DBIとかXML関係ドキュメントの日本語チョウ訳シリーズほか。 - あの良寛!
JavaScript,VBScript,perlなど、最近は、携帯用掲示板CGIのダウンロードが人気です。 - WonderLink
サーチエンジンのCGI(Yomi-Search)のダウンロードと登録を中心に、いろいろ楽しめます。 - とほほのWWW入門
ご存知、個人でのHP作成関係のナンバーワンサイトです。とにかく凄いサイトです。 - KENT WEB
ご存知、個人でのCGIダウンロードのナンバーワンサイトです。とにかく凄いサイトです。
Perl本を紹介
- すぐわかるPerl 深沢千尋/著 技術評論社
タイトル通り、すぐわかります。わたしも一番最初に出会っていたらパールで悩まなくてよかった! - 実践入門 Perl アーク・シンク・タンク 三島俊司/著 技術評論社
CGI関係が充実。初心者より中級者向けか、リファレンスには向いていないし、ちょっと中途半端! - プログラミングPerl 近藤嘉雪/訳著 オライリー
通称、あの有名なラクダ本です。中級・上級者向け。 - 初めてのPerl 近藤嘉雪/訳著 オライリー
こちらは、ラマ(リャマ)本です。初級・中級者向け。