I have no solution, but for all bleading edge versions, it is still the same:
Using DBI version 1.616
Using DBD::File version 0.40
Using SQL::Statement version 1.33
Using Text::CSV_XS version 0.83
DBD::CSV::st execute failed: You passed 0 parameters where 1 required
+[for Statement "
CREATE TABLE new AS SELECT file_01.Prefix, file_01.NumberRange,
file_02.Termination, file_02.Service, file_02.ChargeBand
FROM file_01 INNER JOIN file_02
ON file_01.Chargeband = file_02.ChargeBand
WHERE file_02.Termination LIKE '%something%'"] at inner.pl line 32
+.
DBD::CSV::st execute failed: You passed 0 parameters where 1 required
+[for Statement "
CREATE TABLE new AS SELECT file_01.Prefix, file_01.NumberRange,
file_02.Termination, file_02.Service, file_02.ChargeBand
FROM file_01 INNER JOIN file_02
ON file_01.Chargeband = file_02.ChargeBand
WHERE file_02.Termination LIKE '%something%'"] at inner.pl line 32
+.
Exit 22
With DBD::CSV problems, in 99% of the cases, the real problem is in DBD::File (part of DBI) or SQL::Statement, which makes it so hard to pinpoint the source of the failures. DBD::CSV is just a very very thin interface layer that links Text::CSV_XS to DBD::File which uses SQL::Statement to do the SQL "stuff".
Enjoy, Have FUN! H.Merijn