Thank you for your suggestion.
Yes we've used sql loader and it's worked fine for us doing straight loads.
We thought however with the complexity of the user data, having to translate their data to valid database data, combine existing input and database data to form new database data and being be able to create descriptive edit reports of the load, perl had a little more flexibility than sql loader.