The official CGI logo from the spec announcement
The Camel symbol used by O'Reilly Media
The onion logo used by The Perl Foundation
Alternative Perl 5 Logo
Camelia, the logo for the Perl 6 project

Perl 5 gained widespread popularity in the late 1990s as a CGI scripting language, in part due to its powerful regular expression and string parsing abilities.

- Perl

The following Perl program shows all the environment variables passed by the Web server:

- Common Gateway Interface

2 related topics


C (programming language)

General-purpose computer programming language.

General-purpose computer programming language.

Dennis Ritchie (right), the inventor of the C programming language, with Ken Thompson
The cover of the book The C Programming Language, first edition, by Brian Kernighan and Dennis Ritchie
"Hello, World!" program by Brian Kernighan (1978)
The C Programming Language
The TIOBE index graph, showing a comparison of the popularity of various programming languages

Many later languages have borrowed directly or indirectly from C, including C++, C#, Unix's C shell, D, Go, Java, JavaScript (including transpilers), Julia, Limbo, LPC, Objective-C, Perl, PHP, Python, Ruby, Rust, Swift, Verilog and SystemVerilog (hardware description languages).

Historically, C was sometimes used for web development using the Common Gateway Interface (CGI) as a "gateway" for information between the web application, the server, and the browser.


General-purpose scripting language geared toward web development.

General-purpose scripting language geared toward web development.

This is an example of PHP code for the WordPress content management system.
The elePHPant, PHP mascot
A "Hello World" application in PHP 7.4 running on its built-in development server
Example output of the phpinfo function in PHP 7.1
A broad overview of the LAMP software bundle, displayed here together with Squid
Dynamic web page: example of server-side scripting (PHP and MySQL)

PHP code is usually processed on a web server by a PHP interpreter implemented as a module, a daemon or as a Common Gateway Interface (CGI) executable.

The syntax resembled that of Perl, but was simpler, more limited and less consistent.