Perl/CGI研究室 'PERL-LABO'

PerlでのCGIプログラミングをゼロから始めた管理人による実践的Perl/CGIプログラミング研究録です。
ようこそ!
 
このサイト Perl/CGI研究室 'PERL-LABO' について
 

PerlもCGIプログラムもまったくの初心者である管理人が本を見ながらPerlで CGIプログラムを作って実行してみてアレコレPerlとCGIプログラムの研究をしているサイトです。 自作のCGIプログラムを配布できるくらいまで成長しました。 管理人と同じようにPerl、CGIプログラムの初心者様、入門者様には もしかしたら役に立つ情報があるかも知れません。 このサイトの目標とか理由とかその他もっと知りたい方はこちら

 
サイト内検索
 

たいした情報はありませんが、このサイトPerl/CGI研究室内の検索です。 主に管理人が以前研究したことを探すのに使用しています (^^; 


WWW を検索 www.perl-labo.org を検索
 
書籍紹介
 

私は、CGIプログラムの作成のためにPerlを勉強しましたが、 Perlって面白いなぁと思えるようになってからは、CGIプログラムについては 触れていない純粋なPerlの本も読むようになりました。 Perlの本は10冊くらい読みましたが、 その中で、Perlの勉強にとても良い本がありましたので紹介します。 「初めてのPerl」 という本です。愛称「リャマ本」、Perl初心者のバイブル的な良書ですので、Perlの勉強をしたい人にはお勧めします。 (なお、「続・初めてのPerl」という本があります。 こちらは「初めてのPerl」ほどはお勧めできませんが、さらにステップアップするのには良い本です。)


初めてのPerl

 
無料Perl/CGIスクリプトダウンロード
 
 (63) Plab Analyzer v1.10 多機能カウンターです。高機能アクセス解析ソフトになる予定! [SAMPLE]
 
掲示板
 
 (64) 掲示板 version 1.01 掲示板です。ぜひ足跡を残していってくださいね!
 
Perl/CGIの研究
 
準備
 
 1. CGIって?Perlって? CGIとは。Perlとは。始めはここからですね。
 2. CGIプログラムの拡張子 CGIプログラムの拡張子はcgiです。なぜかって…
 3. 1行目のアレのこと cgiファイルの1行目のおまじないの意味
 4. 改行コードのこと WindowsとUNIX(Linux)の違い。始めはこれでよくトラブりました
 5. パーミッションのこと Windowsには無いので面倒。これもトラブります
 
基本
 
 6. Hello world! まずはごく簡単なPerl/CGIプログラムでとにかく動くものを作ります
 58. デバッグの基本 use CGI::Carp qw(fatalsToBrowser); の使い方を学びます
 
フォームからのデータ受信
 
 7. GETメソッド フォームからのCGIプログラムへのデータ送信、GETメソッドの研究です
 8. POSTメソッド フォームからのCGIプログラムへのデータ送信、POSTメソッドの研究です
 9. 関数にする GET、POST両方で使えるデータ受信プログラムを関数にしましょう
 10. ライブラリにする CGIプログラムでよく使う関数をPerlライブラリにします
 11. パッケージにする CGIプログラムでよく使うライブラリをPerlパッケージにします
 12. 入力が複数の場合 複数の入力フォームからデータ送られてきた場合の処理方法を研究します
 13. 入力を連想配列化 複数の入力が連結されている文字列を分離して連想配列にする研究です
 14. デコードする エンコードされている文字をデコードして元の文字に戻す研究です
 15. 日本語文字コード考察 日本語の文字コードについて調べましょう。これでフォームの処理は完璧です!
 36. データ一覧表示 フォームからのデータを一覧表示するテスト用CGIプログラムを作りましょう
 37. 日本語nameにも対応 完成! name属性が日本語になっているフォームにも対応しましょう
 16. フォームの色々 ブラウザで利用できる様々なフォームについて研究します
 
メールの送信
 
 17. Sendmailでメール送信 フォームからのメール送信の研究。少し実用的な研究になってきました
 31. Sendmailライブラリ作成 これから何度も使うと思うメール送信関数をライブラリにしましょう
 43. 正しい文字コードに Jcode.pmを使って正しい文字コードに変換する研究です
 67. Reply-Toに対応 メールヘッダのReply-Toに対応します
 71. Cc、Bccに対応 メールヘッダのCcとBccに対応します
 72. ファイルを添付する ファイルを添付する研究です
 73. エラーメールを受け取る エラーメールをFromの人が受け取るようにする研究です
 74. オブジェクト指向で正しく 完成! -> を使った関数呼び出し、Jcodeの正しい使い方を研究します NEW !
 
リンククリック解析
 
 18. Locationでジャンプ Locationでジャンプするのをテストしてみましょう
 19. IDでジャンプ先を指定 CGIプログラムにIDを送ってジャンプ先を変更する研究です
 20. IDとURLを連想配列に 連想配列にIDとURLを入れておく方法でやってみましょう
 21. データを外部ファイルに IDとURLの対応表を別のファイルにしてみます
 22. クリック回数計測 各IDのリンクがクリックされた回数をカウント。数を数える練習です
 65. ダウンロードカウンター ダウンロード回数をカウントするCGIプログラムです
 69. 301でジャンプ HTTPステータス"301"で別ページにジャンプする研究です
 
アクセス解析の基礎
 
 23. 環境変数 CGIプログラムが環境変数から得ることができる情報の研究
 24. OSとブラウザ 訪問者様のOSとブラウザを調べます
 25. アクセス元 訪問者様のアクセス元を調べます
 26. IPアドレス 訪問者様のIPアドレスを調べます
 27. ホスト名 訪問者様のホスト名を調べます
 48. アクセス元その2 訪問者様のアクセス元をJavaスクリプトで調べます
 54. Javaスクリプト情報一覧 Javaスクリプトで得られる情報の一覧です
 
クッキーの使い方
 
 28. 初めてのクッキー クッキーの保存と読み取りをテストしてみる。
 29. クッキーに有効期限を クッキーの有効期限を設定してブラウザを閉じても破棄されないように
 35. クッキーは誰のもの? クッキーの書き込みと読み込みが別のCGIプログラムの場合について
 38. クッキーの衝突 複数のCGIプログラムのクッキー書き込みが衝突しちゃうことの研究です
 39. クッキー処理の汎用関数 クッキーの読み書きを行う汎用関数を作りましょう
 46. 複数呼び出しに対応 複数の関数がクッキーを同時に使えるように修正します
 66. エンコード/デコード 特殊文字をエンコード/デコードします
 85. pathの指定 クッキーのpathを指定できるようにします。
 86. 重複出力不具合修正 完成! 上の階層のクッキーを再出力してしまう不具合を直します。
 
アンケート
 
 32. ページアンケート ほぼ完成! 全てのページにアンケートフォームを設置する研究です
 
アクセスカウンター
 
 33. アクセスカウンター CGIプログラムの王様(?)アクセスカウンターを作る研究です
 34. IPアドレスで重複回避 IPアドレスを保存しておいて重複カウントを避ける研究です
 41. クッキーで重複回避 クッキーを利用して重複カウントを避ける研究です
 44. 昨日と今日と計を表示 日毎のアクセスを記録するカウンターの研究です
 47. クッキー処理方法修正 クッキーの扱い方の変更とライブラリ化です
 52. 履歴のグラフ表示 過去のアクセス履歴のグラフを表示できるようにして、完成?
 55. gifcat.plの使い方 gifcat.pl ライブラリを利用して画像を連結表示する研究です
 56. 画像カウンタに gifcat.pl ライブラリを利用してカウントを画像で表示する研究です
 57. さらなる改良 設定ファイル、色設定、高速化(?)などの改良を行います
 68. リピーターさんカウンター サイトに再訪問してくださった方の数を数えてみましょう
 83. Javaスクリプトで表示 JavaスクリプトとしてCGIプログラムを実行してカウントを表示します
 84. 重複カウント排除を強化 完成! IPアドレスによる重複カウントの排除を、より強力にしてみます
 
ページビューカウンター
 
 40. ページ毎にカウント ページ毎の表示回数をカウントする研究です
 42. ランキングとグラフ表示 ページ毎の表示回数をランキング&グラフ表示する研究です
 45. IPで重複チェック ページ毎に前回アクセスしたIPアドレスを保存して重複チェックします
 49. 過去ログの保存 一定期間毎にデータを過去ログに移動し、過去ログも閲覧可能にします
 50. サイト外URLの排除 自分のサイトでないURLが混ざることがあるのでこれを除きます
 51. グラフをキレイに グラフを見やすいものにして、これで完成かな
 59. トータルも保存/表示 トータルのページビューカウントも保存、表示できるようにします
 60. さらなる改良 ほぼ完成! CGIプログラムの配布を念頭に設定ファイルの作成などを行います
 
リファラー(リンク元)カウンター
 
 61. リファラーカウンター リファラー(アクセス元URL)のアクセスランキングを作る研究です
 77. サイトランキングに改良 "ページランキング" から "サイトランキング" へと改良です
 78. サイト名を表示 ほぼ完成! URLを表示するんじゃ味気ないですね ちゃんとサイト名を表示しましょう
 
検索語カウンター
 
 62. 検索語カウンター ほぼ完成! 検索エンジンで使用された検索語を調査する研究です
 
リンククリックカウンター
 
 79. リンククリック回数を知る JavaScriptとの連携で上手にリンククリック回数を記録します
 80. onclickを自動設定する onclickを自動設定してたった1行の魔法に昇華させます
 81. クリック履歴管理 CGIプログラム側を整備して、履歴の記録と表示などを行って完成です
 82. IN/OUTカウント表示 ほぼ完成! リファラーカウンターとリンククリックカウンターを融合させましょう
 
総合カウンター (アクセス+ページビュー+リファラー+検索ワード)
 
 63. まとめたカウンター ほぼ完成! 今まで作成してきたカウンターを1つにまとめる研究です
 
掲示板
 
 53. 掲示板、作成開始 CGIプログラムの華、掲示板の研究です!
 64. クッキーの活用 クッキーを活用して名前とURLの再入力を不要にする研究です
 
その他
 
 30. 画像のランダム表示 完成! 予め用意しておいたjpgファイルからランダムに1つ選んで表示します
 70. パスワード認証する パスワード認証用の.htaccessと.htpasswdを生成します
 
ドキュメント
 
 75. 正規表現覚え書き 正規表現の表記方法、使い方の覚え書きです。
 76. Perl リファレンス(少しだけ) Perl関数の説明やちょっとしたPerlソース断片を記録していきます。
 
リンク集
 
 □ リンク集 少ないですがリンク集です。これから充実させていこうと思います。
 □ 相互リンク募集中 ※ 是非相互リンクをお願いします! (管理人にメール

Copyright (c) 'PERL-LABO' All Rights Reserved.  リンクフリーです。