Bueno, generalmente los CGI se programan en PERL, si bien se pueden programar en C generalmente se usa PERL porque es mucho más fácil de usar que C...
A la vez PERL lo puedes ejecutar en Sist. Operativos como linux, windows, solaris sin problema alguno.
Perl es un lenguaje que tiene toda la funcionalidad de PHP y ASP pero también tiene muchas otras funcionalidades...Es un lenguaje mucho más potente, te permite hacer muchas más cosas.
Si, es un lenguaje de servidor, que se usa para cuando tienes que hacer por ejemplo un envío de formulario a un mail, un foro de discusión, un loggin de usuario...Eso para web, ahora bien también se pueden hacer otras cosas como sistemas de administración de empresas que se basen en tecnología web y muchas cosas más.
Las diferencias con ASP es que PERL es más lenguaje, es más serio rápido y potente...Pero si, ASP es más fácil de usar, pero si tu sabes C no te costará nada aprender PERL porque es MUY SIMILAR, yo también programaba en C y cuando vi perl me enamoré...jeje
ASP es solo para windows, perl es multiplataforma, Si bien no tiene un framework como java o .net , tiene un intérprete que posee versiones los distintos sistemas operativos.
Para aprender sobre PERL y CGI visita la sección de tutoriales de
www.perlenespanol.com hay mucha info al respecto.
Espero que te sirva