in reply to DBI and SQLite's .read feature
I wrote DBIx::RunSQL for running SQL statements from a file, especially to populate databases. Maybe it helps in your case as well.
Maybe you want to look at Querylet as well.