2007年4月26日木曜日

DBIx::SimpleとSQL::Abstract

前回のエントリでPerlからSQLを使うのって面倒、ということを書いたらさっそくmiyagawaさんから「つDBIx::Simple」というお返事が。これのperldocに書いてある通りSQL::Abstractを組み合わせたらSQLも書かなくてよくなって、かなり良さげ。

Inline::CはPerlの中でCを使う自由を与えてくれたけど、Perlの中でSQLを使わない自由もあっていいと思う。だってSQLなんてバッドノウハウのかたまりじゃない? 言いすぎ?

あとはPerlの正規表現でSELECTができるラッパーがあれば最強なんだけれど、ありませんかねえ(と書いたらまだ誰かが教えてくれるかも)。ちなみに、前回書いた/i、つまり大文字小文字を区別しないマッチはSQL::Abstractがこんなふうにやってくれる。たとえば、
$sql = SQL::Abstract->new(convert => 'upper');
%where = (keywords => 'MaKe iT CAse inSeNSItive');
はこうなる。
WHERE upper(keywords) like upper('MaKe iT CAse inSeNSItive')

普通のWHERE文はこんなふうに表現できる。
my %where = (
requestor => 'inna',
worker => ['nwiger', 'rcwe', 'sfz'],
status => { '!=', 'completed' }
);

慣れないブログを始めて1週間足らず。はてなブックマークやLivedoor Readerに登録してくださった方々、そして来訪してくださった皆様に感謝申し上げます。

0 件のコメント:

コメントを投稿