今日はDBIx::モジュールのテストなどでときおり見受けられるDBD::SQLiteのハマリどころとその対策を紹介します。 後片づけ編 (オブジェクトではなく)クラス内部でコネクションを張りっぱなしにしてしまうDBIx系モジュールでありがちなことですが、テストの後始末をするときに、DBD::SQLiteで開いておいたデータベースを閉じずに削除しようとすると、Windows環境などではパーミッションの問題でエラーになります。 my $dbh = DBI->connect('dbi:SQLite:foo.db'); ... unlink 'foo.db'; 明示的にデータベースを閉じてからデータベースを削除するのが王道ですが、 my $dbh = DBI->connect('dbi:SQLite:foo.db'); ... undef $dbh; unlink 'foo.db'; 並列処理を行