Forwarding an issue mailed in private:
Most SQL bases either requires or permits ; following a statement. Not so for DBD::CSV.
That seems like a bug, because that makes it harder to switch to DBD::CSV.
Works:
$dbh->do ("CREATE TABLE foo (id INTEGER, name CHAR (10))");
Fails:
$dbh->do ("CREATE TABLE foo (id INTEGER, name CHAR (10));");
The second works fine for SQLite, MySQL and PostgreSQL.