読者です 読者をやめる 読者になる 読者になる

Perl - CPAN - DBD::SQLiteパッケージ

ここに掲載するものは、塚本さんにパッケージ化して頂いているZaurus用Perl 5.6.1に追加でインストールするPerlライブラリのDBD::SQLiteである。
ソースはここからダウンロードし、dev-img-1.3でセルフコンパイルした。

download:lib-perl-dbd-sqlite_1.14-1_arm.ipk

このパッケージとDBIパッケージSQLite 3.2.1Zaurusにインストールすれば、Perlによってデータベースにアクセスすることが可能になる。
現時点の最新DBD::SQLiteは1.25だが、最近のものはテストが正常に動作しないため、動作するバージョンで一番新しいものを採用した。

手始めの使い方は以下の通りである。

# "ID<TAB>名前<TAB>年齢"のテキストをデータベースに登録
use DBI;
$dbh = DBI->connect("dbi:SQLite:dbname=test.ldb");
$tbl_name = "test2";
$create_tbl =<<__CREATE_TBL__;
    create table $tbl_name (
        id int,
        name varchar(40),
        age int
    )
__CREATE_TBL__
@tables = $dbh->tables;
$exist = 0;
foreach $name (@tables) {
    if ($name =~ /$tbl_name/) {
        $exist = 1;
        last;
    }
}
if (!$exist) {
    $dbh->do($create_tbl) or die;
}
while (<>) {
    chomp;
    ($id, $name, $age) = split(/\t/);
    $id = int($id);
    $name = substr($name, 0, 40);
    $age = int($age);
    $insert = "insert into $tbl_name values ($id, '$name', $age)";
    $dbh->do($insert) or die;
}
END {
    $dbh->disconnect if $dbh;
}


DBD::SQLiteの詳細は以下をご覧頂きたい。

英語:http://search.cpan.org/~msergeant/DBD-SQLite-1.14/lib/DBD/SQLite.pm
日本語:http://perldoc.jp/docs/modules/DBD-SQLite-0.19/SQLite.pod