BBS

HTML::Templateでvalid HTML

BBS

HTML::Templateは便利ですが、独自のタグっぽいものを使うので文法チェックができません。<>の代わりにHTMLコメント形式にもできるけど、例えば 名前: <span class="name"></span>みたいにしたとき、spanの中身が空だとスタイルシートをいじったりするとき面倒。・・・ということで、[T…

CGI::Application インターナル(2) callback

BBS

CGI::Applicationの双璧をなす機能として run modeに対応したサブルーチンのdispatcher hookとそれに対応したcallbackの設定 があります。dispatcherに続いて、今回はcallbackについて。これも簡単なコードで面白い機能を付けてます。CGI::Applicationのコー…

CGI::Application インターナル(1) dispatcher

BBS

CGI::Applicationがrun modeに対応したサブルーチンを呼び出す処理はすごく簡単。$rm='view'とすると、$self->$rm()を実行することによって$self->view()が呼び出されるという仕組みのようです。"strict refs"に引っかかるんじゃないのかなあ、と思うけど、…

CGI::Application 練習

BBS

CGI::Applicationの練習として、簡単な投票CGIを作ってみることに。http://kk01234.hp.infoseek.co.jp/cgi-bin/sample01/vote.cgi (refereあるとダメっぽいので、アドレスコピペしてください) 所要時間は2時間ほど。使い方に慣れてないことも考えると、これ…

CGI::Application インストール

BBS

Fate感想でテンション上がりすぎて今日は寝不足。次回のゲイボルグが楽しみ。それはともかく、CGI::Application。CGI::ApplicationのPODを見てみると、「抽象クラス(Abstract Class)」と書いてある。・・・でも、別にインスタンス化してもエラーにはならなか…

CGI::Application

BBS

超簡単サンプル。 package CGIsample; use base qw(CGI::Application); use strict; sub setup { my $self = shift; $self->start_mode('mode1'); $self->run_modes(mode1 => 'showmain'); } sub showmain{ my $self = shift; my $q = $self->query(); my $o…

BBSを作ろう その1

BBS

Fateの余韻に浸りつつ通常営業。ところで、最近個人的にBBSを作る必要が出てきました。まともなCGIを作ったのは数年前まで遡るのでかなり浦島太郎な気分。また一から調べなおしますか・・・。技術的なこともそうだけど、仕様も決めないとなあ・・・。で。近…