DBIx::Simple

DBIx::Simpleがいい感じです。
普段はDBIC使うとして、複雑なSQLを実行しなければいけない場合、
DBI直でやったりしますが、DBIx::Simpleつかえばいい感じでかけます。
DBI直でもいいのですがOO風味でかけるのがうれしげ。
こんなん。すげー適当ですけど。

#! /usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
use DBIx::Simple;

my $db = DBIx::Simple->connect('dbi:mysql:test_dbic','hoge','moge')
    or die DBIx::Simple->error;

for my $row ( $db->query('SELECT id FROM blog')->hashes ) {
    print Dumper $row;
}

my $ret = $db->query('SELECT id,title FROM blog')->map_hashes('id');
warn Dumper $ret;

$db->abstract;
$ret = $db->select(
    'blog', '*',{
        title => \'IS NOT NULL',
    }
)->hashes;

warn Dumper $ret;

map_hashesとかがかなり楽しげ。
SQL::Abstractもつかえますが、SQLを直で書く場合用で考えたほうがいいかな。

ふむ。ちょっとやりたいことが思いついた。