line 2 - no "use strict;" (and no "use warnings;")
line x - variable scoping issues (very bad)
line x - no style (perltidy should be run)
line x - comments are either incomplete or useless (see line 142-146 for example, the comment is "# Clean up" followed by $sth->finish();)
line 42 - he prints $name, no entities escaping is done -- he does this EVERYWHERE
line x - no cleaning of any param values is done -- hello spam relay
line 97 - use of `date '+%D'` -- what's next, he's gonna shell out for sort?
line 125 - like with the spam relay, his database is open to corruption (this makes me think DBI ought to protect idiots from themselves like java does with executeQuery/executeUpdate)
line 189 - needless repetition - if he doesn't know my can take a list, he doesn't know many other things