ん~、簡単なcgiアプリを作るだけだったのに一日でおわらなかった。
久々にcgiを組んだような気がする。エライはまってしまった。
以下、復習用自分流SYNOPSIS。
use DBI;(中略)
my $DB = "hoge/fuga.db";
#SQLiteの場合(userの概念などがないらしい)
my $dbh = DBI->connect("dbi:SQLite:dbname=$DB", "", "")
or die $DBI::errstr;
my $sth = $dbh->prepare($sql) or die $dbh->errstr;
$sth->execute(@args); #$sql内の?をargに置き換えてくれる
my $hash_ref = $sth->fetchrow_hashref; #実際にデータ取得
#prepare~executeをまとめて実行(deleteやinsert文とか)
$dbh->do($statement, \%attr, @args);
あとTTもかなぁ。SledgeのときはTTオブジェクトの生成とか全然気にしてなかったが...
use Template;(中略)
my $template = Template->new({INCLUDE_PATH => '/hoge/hoge'});
my $file = 'sample.html';
my $vars = {
var1 => $value,
var2 => \%hash,
var3 => \@list,
var4 => \&code,
var5 => $object,
};
#sample.html内のvarXをvalueにそれぞれ置換
$template->process($file , $vars) or die $template->error();
今回はSQLiteを使ってみたが、db格納のファイルのパーミッションの設定を忘れてはまりかけた。というか見事にはまりました(´Д`ι)