Il CGI e` un protocollo per interfacciare client e server.
Il PHP e` un altro protocollo, ASP un altro ancora.

I CGI si possono realizzare usando vari linguaggi. Perl e` uno di questi (il piu` usato), ma ci sono anche CGI in C (piu` veloce).
Per realizzare un CGI con un linguaggio e`importante e` che il linguaggio abbia il "modulo" per i CGI (in C si chiama libreria).

Il PHP nasce con un suo linguaggio intrinseco (molto simile al Perl); invece ASP utilizza altri linguaggi: il piu` usato e` VBS (o VB di qualche tipo), ma si puo` anche usare JS (con estensioni rispetto alla versione lato client).