programming

cjk codecs

http://sourceforge.net/projects/koco/python用の中日韓コーデックです。 perlも5.8で標準にEncodeが付くようになり国際化の波はプログラマーを襲うのか?*1 *1:全部Unicodeでやれとか言わないように。

while(*a++=*b++)

そんなに解りづらいですかね? Cをちょっとかじったレベルなら普通に理解できる構文だと思いますけど。まぁ、意味が薄いと言うことには同意しますが。

Mysql+ssl

http://slashdot.jp/journal.pl?op=display&uid=13812&id=130759ちょっと気になる。 BSD使いですし。DBD::mysqlとかは対応してるのかな。 対応してないならDBD::mysqlPP+Crypt::SSLeayとか使えばいいのかな。でもアレってHTTPしか対応してなかったような…う…

Plugin

自作のフレームワークにプラグインを入れようと思いモジュール名を定義してさぁ組むかと思ったところでふと思う。 どういう風に実装しよう。*1前回、と言うか過去に作ったライブラリ集は基本的に場当たり的に作った物をまとめたと言う形だった。 今回はもっ…

FrameWork

http://search.cpan.org/search?query=FrameWork&mode=all 結構な数有るんですねー。 驚きました。でもヤッパフレームワークはフレームワークな訳で自分のワークのフレームを作り込むのが一番やろ?

Encode::Guess

と言うモジュールがあります。 Perl5.8ではたしか標準付属なモジュールです。Jcodeで言うところのgetcodeを行う*1モジュールです。http://news.ring.gr.jp/news/openlab.jcode5/610こんなやり取りがありました。 これを見る限りJcodeでは失敗時にはeucの用で…

Session

http://www.ipa.go.jp/security/awareness/administrator/secure-web/chap6/6_session-1.html こんなテキストが有るんですね。 私ちょうどSessionのモジュールを書こうと思ってたので読んでみよう。

エラー捕捉

できましたー*1 結局$selfをグローバル変数に退避させると言うヘタレな方法で対処。 動けば良いんです!出来れば勝ちです! -WTで一個もワーニングが出ないので問題ないでしょう。 *1:つっくりまっしょー♪つっくりましょー♪

Gozilla

そういえばGNU global入れようと思って放置しっぱなしだなーと思って見てみたらこんな物が。 http://www.gnu.org/software/global/globaldoc.html#SEC107 gnu globalのMozillaインターフェース…って事でいいのかな。 windowsで動くか解らないとのことですがc…

Die&warn

自前でCGI::Carpのような物をワーニングレベルに応じて出すモジュールを作ろうと思って調べてみた。まず、ワーニングレベルを調べるには$^Wを調べればいいようだ。 -w 又は -Wをつけて起動した場合にはここに値が挿入される。*1そして問題のワーニングメッセ…

Signal

下の続きですが。 これで出来るかなーっと思ったんですが出来ませんでした。 いや、出来てると言えば出来てるんですが。 sub new { my $self = shift; my %debugdata = @_; $self = bless {%debugdata},$self; $main::SIG{__WARN__} = $self->_catch_warn; }…

__PACKAGE__

こんな特殊定数有るんですね。 知らなかったです。 これを使えばpackage名を変更する事になってもソースの変更が減るかもなぁ。 たとえば昨日のこれ。 package Hoge; use strict; use base qw(Class::Accessor); Hoge->mk_accessors(qw(Fuga)); がこうなるわ…

perldoc.jp

http://219.113.193.155/NPK/perldoc.jpこんなの書いてみました。 SF.jpのperldoc.jpから自動でPODを落として表示するスクリプトです。 ./perldoc.jp Jcodeとかそんな感じで使います。 http://www.freeml.com/message/perldocjp@freeml.com/0000546 http://w…

Class::Accessor

うわー何ですかこの便利具合は(笑) Perlのモジュールなんですがアクセサを超簡単に作成できます。 たとえばこんなモジュールがあったとしようじゃないですか。 package hoge; use strict; new { HOGE => 1, FUGA => 2 } で、これにアクセサを作ろうとすると…

Template-Toolkit

メモ。 http://www.sea-bird.org/doc/Solaris8/Perl_2.html 一見すると複雑そうですよねー。 この手のテンプレート系のモジュールってプログラマブルに書きすぎるのもどうかなと最近は思ってます。 結局テンプレート作る人はデザイナーさんな訳ですし。

つーか

package Hoge; use strict; use base qw(Class::Accessor); Hoge->mk_accessors(qw(Fuga)); sub new { my $self = shift; bless { Fuga => Hoge::Fuga->new() },$self; } 1; __END__ - use Hoge; my $hoge = Hoge->new(); print $hoge->Fuga->gimyo(); こう…

Template-Toolkit

SlashとかSledgeとかで使ってるみたいなので取り込みたいなーと思いつつも放置してたので考え中。 UnixマガジンのSledgeの特集を立ち読みした感じでは想像してたよりは難しくなさそうだし…。 適当にPODでも訳してみよっかな。

ちょっと便利なシェルスクリプト

たまに入ってるPerlのモジュールのバージョンを調べたくなるときがあるので適当に書いてみた。 #!/bin/sh perl -M$1 -e "print $1->VERSION" 引数でモジュール名を入れるとバージョンを調べてくれる。便利。

XML::Config結果

こりゃ使い物になりませんね。 実装が荒いのでXMLファイルがかなり汚くなると思う。 やはり自前でやるのがベストっぽい。 なつみかんとかどうやってるのか見てみるかな。 たしかアレもXMLだったはず。 大嘘でした。 perlの変数に代入してました。

XML::Config

取りあえずインストールしてみる。 CPANモジュールを使って…れっつごー。と、ここでエラーが出る。 んーXML::Parser入ってないからかな。 先に入れてみるか…。XML::Parser入れてから入れるとあっさりtestが通りOKの文字。 取りあえず適当に試してみるか。

XML::Config2

えー結論から言うと使い物になりません。 Perl5.8だとtestコードすらまともに動きません。はなしになんねー。 しょうがない…他の方法を考えよう…。

XML::Config3

ごめんなさい。 動きました。っていうか、サンプルのXMLの書式が間違えてるなんて有りか…。

Config

今までConfigファイルは全部iniファイルでやってたんだけどPerl5.8向けに全て書き直してるので良い機会だと思いConfigファイルをXMLへ移行を試みる。 CPANで検索するとXML::Configがあった。見た感じそれほど難しい感じは受けない…。 これを使うかな…。単純…

CGI Security

http://www.cgisecurity.com/ こんなサイトがあったのか…。 英語だけど結構ためになることがあったり。

フレームワーク作り直し

してます。 下に出てるEncocdeを使った拡張CGIなどPerl5.8ベースにするために。 他にも前から入れたかった機能を詰め込んでます。所で前から気になっては居たんだけど一般のフレームワークってどうやってコンフィングやプラグイン実現してるんだろ。 因みに…

大文字小文字を区別しない判別

昨日某所で話題になったのがperlで大文字小文字を区別せずにifで判別するにはどうすればいいかという話題。 その場ではlcが最速と言うことになりその話は終わったんだが。 そのとき場に出た判別方法は3つ。 マッチングで/iをつける。 マッチングで\Q\E lc …

Perl5.8.0

Encodeモジュールをへこへこと使ってみたんだけどどーしても上手く行かない。 Guessで文字判別が何故か上手く効いてくれない…。 素直にこれからもJcodeを使い続けるのも手と言えば手なんだけど日本語はそれで良くてもなぁ…とか考えてしまう。 何も考えずに全…

FormValidator

CGI組んでると必ず絡んでくるFormの入力の整合性。 それを簡単に組むモジュールがあるらしい。これ。 これ系のモジュールは確かに必要なんだけどいくらなんでも複雑すぎないだろうか…。 Config::SimpleとかClass::PhraseBookとか組み合わせれば多少ましにな…