There is no support for binding two-dimensional arrays in DBD::Oracle. The best you could do is - use $sth->bind_param_array to bind an array reference and then use $sth->execute_array.
Support for passing collections or object types isn't there as well. You can pass them out from a function or procedure, but you cannot pass them in.
Depending on the details of your problem, you may be better off using SQL*Loader to load your data.
Oracle can map files as external tables, which is another easy and high bandwidth path in.
I am not sure it is legal with sqlloader (some tools like flat files too much), but one slick direction to to popen() sqlloader and write to the pipe. The Oracle page is not specific about its pipe intolerance!