The answers are all there, but I'll spell them out for you:
Use DBI with DBD::Oracle.
The fastest way to read an array is with fetchall_arrayref.
You may be able to do fast inserts/updates with bind_param_array, but it depends on whether or not DBD::Oracle has implemented special bulk insert code or not. Try it.