in reply to Perl/CGI Database Techniques

Start with Class::DBI to help automate the SQL generation. Continue with the various validation modules on CPAN. Email::Valid for email addresses, Regexp::Common for common tasks (like identifying numbers), and URI for web addresses (and so much more). Notification of errors is a matter of designing a generic template that uses a TMPL_LOOP to list errors found. Formatting records is the same. You might have to do a TMPL_INCLUDE for the specific layout of this listing, but it's not that big a deal.

If you put some thought into it, you should be able to come up with a system. The big thing is that you need to stop development/tweaking, sit down for a week or so, and really think about how you want to lay things out. It most definitely is time well-spent.

------
We are the carpenters and bricklayers of the Information Age.

The idea is a little like C++ templates, except not quite so brain-meltingly complicated. -- TheDamian, Exegesis 6

Please remember that I'm crufty and crochety. All opinions are purely mine and all code is untested, unless otherwise specified.