It is important to note that the Common Gateway Interface, or CGI, is language independent. Moritz points this out in his point #1. Because it is language independant, you can use Perl or any language that can run under the interface to provide web pages (i.e. bash+CGI, lisp+CGI, python+CGI, etc.).