The Common Gateway Interface - also known as CGI - is a language agnostic way to create dynamic web sites. It was the first technology that enabled web sites to move beyond static pages.

In the early years of the web almost all the dynamic web sites using CGI were written in Perl. Therefore many people still associate CGI with Perl even though CGI can be used with any programming language.

Since those years various other technologies have been developed.

For a long time mod_perl was used mostly to speed-up CGI requests. In the recent years a few language-specific interfaces have replaced the plain CGI. Python has WSGI, Ruby has Rack, and Perl has PSGI.

Nevertheless CGI is still available and in some cases still the appropriate choice. Therefore we have a few articles and screencasts related to CGI.

Up till version 5.20 the standard Perl distribution included the CGI module. If you have a version of Perl that does not come with the module you can either install CGI from CPAN or you can install CGI::Simple which a more light-weight version of the same.

Alternatively you can install PSGI and if you have no better option, use it in CGI mode.