All of the answers I have seen are good. I think I have a few things to add.
Production code should run under taint mode, but when doing command line debugging you usually have to turn it off because the debugger has a tendency to crash.
Debugging form processing has additional complications. I think there is nothing here that does not apply to CGI in general. If a form seems to misbehave make sure you are setting all the parameters even if to the empty string. Also have you turned on the debug mode in CGI?
Also if you ever end up debugging through DataFormValidator you'll need to know about the overload module first, as the Results class overloads certain contexts to a boolean value. This means you must deference the object as hash before you can inspect it.