in reply to Perl and Database Input
Whether a new record gets created or not will depend on the key, and your SQL. You should just be able to carry out an UPDATE on an existing row.
You should consider what happens if the whole transaction is aborted, for example if the user navigates away after only filling a single page. At what point do you commit?