Primero que nada CGI no es un programa ni un lenguaje de programación...Es una forma de proceso que te permite que un mismo proceso sea ejecutado por distintos usuarios al mismo tiempo...(si me equivoco avisen)
Ahora bien, generalmente se toma a los CGI como a los scripts de PERL...Pero en verdad un CGI puede ser escrito en otros lenguajes como C
Con Perl puedes hacer scripts CGI que se ejecuten en tu servidor y que sean usados por tus usuarios...como ser un formmail, un tablón de mensajes, un foro de discusión, chat y esas cosas.
Si quieres saber más sobre PERLm hemos escrito varios tutoriales acerca del tema en
www.perlenespanol.com (sección tutoriales para principiantes)
bueno, espero haberte respondido bien y cualquier cosa acá estamos
Un abrazo