Why can't DBD::SQLite insert into a database through my Perl CGI script?
It looks like the directory needs write permission, the reason is:
SQLite needs to be able to create a journal file in the same directory as the DB, before any modifications can take place. The journal is used to support transaction rollback.
From: seem to need write permission on db's parent directory