Actually, CGI is not neccessarily Perl. CGI is simply the scheme whereby a script or program can accept request parameters and output HTML. You can write CGI scripts in any scripting language that the server supports: perl, tcl, php, bash, etc. You could even direct a CGI page to a compiled binary.