DBD::Oracle natively supports the execute_array method, and it is quite fast. Maybe not quite as fast as sqlldr, but it should get through 200,000 records (in batches of 1000 or so) in no time. sqlldr with direct path might be the fastest, but direct path has it's own issues that should be considered (e.g. letting you insert duplicates leaving unique constraints in a disabled state).