DBI abd DBD::Oracle can only execute one SQL command per prepare() call. If I'm guessing correctly your SQL script files contain multiple SQL statements, in which case you will have to parse your SQL script file so that you execute each command separately.