: I've never programmed in php or perl, and I'm not saying there are any differences, but does python have any edge vs. these langs in cgi?
I'm not sure what kind of "edge" you're looking for. There's nothing really special about CGI. All CGI really means is that the webserver calls an external executable program each time that URL is requested, sets up the environment for it, and then reads that program's output to send back to the client. PHP is different because there's a module *in the webserver* that interprets the PHP code and renders the HTML output. There are also modules (for Apache, at least) that let you interpret Perl or Python code within the webserver process similar to PHP, but that is something else entirely from CGI.
I know that Python comes with the cgi and cgitb modules which have some "helper" objects in them for getting things like form input and displaying pretty error tracebacks. I'm sure Perl has useful libraries that help with CGI stuff like that as well. Aside from HTTP-specific things like form input (which is ultimately nothing more than environment variables and standard input), a CGI program is just a regular program that writes output to stdout (in Python you use the "print" statement).
So use what you know and like.
If you want to do something where your python code is actually running in the server then I personally recommend CherryPy. There's also TurboGears which runs on CherryPy but comes with all kinds of extra stuff to get you started. The standard documentation that comes with Python explains the cgi and cgitb modules well enough to get started with simple CGI.
$ select * from users where clue > 0
no rows returned