SQLite version <=0.31 is libsqlite v2 as is SQLite2 but SQLite > 0.31 is libsqlite v3.
Still with me?
Actually I get it and I even sort of get the reasons for doing it but it still makes me feel icky. The bad thing is that whilst SQLite2 is supposed to be fully backwards I was getting errors about "can't find object method" and ...
Oh, blinding flash of insight.
The solution I used was to copy Class::DBI::SQLite over as Class/DBI/SQlite2.pm and insert 2s judiciously. This may not be the best way although the other quick solution was to do
$driver = 'SQLite' if $driver eq 'SQLite2';
or the moral equivalent which just seems hacky.