Common Gateway Interface

Practical Extraction & Report Language

Updated: July 2, 2021
By: RSH Web Editorial Staff
CGI - Perl

Common Gateway Interface

The Common Gateway Interface is a standard way for a Web Server to pass a Web User requests to an application program and to receive data back to the user. When the user requests a Web page (for example, by clicking on a highlighted word), the Server sends back the requested page. However, when a user fills out a form on a web page and clicks "Send", it needs to be processed by an application or program. The Web Server typically passes the form information to a program that processes the data. This particulate method for passing data back and forth between the Server and the application is called the common gateway interface (CGI). It is part of the Web's Hypertext Transfer Protocol (HTTP)

If you are creating a website and want to use or call a CGI program, you can specify the name of the application in the (URL) "Uniform Resource Locator" that you code in the HTML page. This URL can be specified as part of the FORM Tags if you are creating a form

For example, you might code:

The server at "" would pass control to the CGI application called "" to record the entered data and return a confirmation message. (The ".pl" indicates a program written in PERL, but other languages could have been used.)

Related Posts

The common gateway interface provides a consistent way for data to be passed from the user's request to the application program and back to the user. This means that the person who writes the application program can make sure it gets used no matter which operating system the server uses (PC, Macintosh, UNIX and others). It is simply a basic way for information to be passed from the Web Server about your request to the application program and back again

Because the interface is consistent, a programmer can write a CGI program in a number of different languages. The most popular languages for CGI applications are: C, C++, Java, and PERL

An alternative to a CGI application is Microsoft's Active Server Page (ASP), in which a script that is embedded in a Web page is executed at the server before the page is sent

web hosting


Perl or Practical Extraction and Report Language is a family of script programming languages that are similar in syntax to the C language, including Perl 5 and Perl 6 . Perl is an open source, general-use, interpreted language. In general, Perl is easier to learn and faster to code in that the more structured C and C++ languages

Perl programs can, however, be quite sophisticated. It is often used for developing common gateway interface (CGI) programs because it has good text manipulation facilities, although it also handles binary files. Perl includes a number of popular UNIX facilities such as sed, awk, and tr. It can be compiled just before execution into either C code or cross-platform bytecode. When compiled, a Perl program is almost as fast as a fully pre-compiled C language program. A plug-in can be installed for some servers, such as Apache, so that Perl is loaded permanently in memory, thus reducing compile time and resulting in faster execution of CGI Perl scripts

CGI and Perl Resources

Perl Tutorial Hub
An authoritative list of recommended tutorials

Perl for Perl Newbies Series
Contains verbose slides filled with explanation, examples and anecdotes. Covers a basic subset of Perl

The Perldoc Tutorials
The tutorials that ship as part of the perl core. Start with perlintro and then continue with other tutorials
Beginners Introduction to Perl. A 6-part tutorial that covers the basics. This tutorial should get you started

Perl Maven
Perl and CGI script with Apache2

LPW: Beginners Perl by Dave Cross
Presentation slides by Dave Cross

Perl One-Liners Explained by Peteris Krumins
A series of posts about useful perl "one-liners" that may serve as a teach-by-example

Common Gateway Interface CGI documentation
Introduction, primer for getting started, interface spec, tutorial for writing Error Document. Examples of behavior and programs

CGI Made Really Easy
Tutorial for writing CGI scripts to process Web forms. In English or German

CGI Programming 101
A course intended for anyone who knows HTML but doesn’t know Perl or CGI programming

Instantaneous Introduction to CGI Scripts and HTML Forms
Detailed explanation of CGI forms, how to use them and the mechanics behind how they work

Kali Linux Tutorial: What is it? How to install it. How to Utilize it

CGI Tutorials

CGI: An Introduction
The tutorial based on the Angry Birds game by Moises Perez is a great example of CGI. CGI Animation CGI animation is the process to use the various software to create animation

PERL and CGI Tutorial - The Common Gateway Interface, or CGI, is a set of standards that define how information is exchanged between the web server and a custom script

W3 Schools
CGI is a set of standards that defines a standard way of passing information or web-user requests to an application program and getting data back

CGI Programming 101
A CGI program can be written in any programming language, but Perl is one of the most popular

CGI Made Really Easy
CGI is not a language. It's a simple protocol that can be used to communicate between Web forms and your program

Apache Tutorial
Dynamic Content with CGI - Apache HTTP. It is a simple way to put dynamic content on your website

How to Write a CGI Program in C/C++
CGI programming is no more or less complex than other forms of programming

Quick and Easy CGI
This is the first in a series of articles that describes how to write, install, and debug Common Gateway Interface (CGI) scripts

CGI and Perl Scripts
Thousands of scripts and software for websites and web developers. PHP, Perl, CGI, MySQL, Web Apps, SaaS
Perl & CGI archive is full of useful scripts designed to make your life as a webmaster easier. All our scripts are Very Secure and reliable

CGI and Perl Script Resource.
The CGI and Perl Script Directory lists 433 Links in 160 Directories

Free Perl/CGI Scripts from Scripts for Educators
Perl CGI Programs for Educators and Others! Since 1996, Scripts for Educators has been providing free Perl CGI scripts to the online educational community, and others
CGI Scripts and Perl scripts from

The PCman Website
Free Perl scripts get our freeware CGI programs that we wrote for you, a webmaster, to download and try on your website

Matt's Script Archive
Free Perl CGI Scripts
Free Perl and CGI Scripts

The Perl Archive’s Guide
Listing nearly 4,000 cgi and perl programs

nms Project
Web Scripts Written by Experts. CGI scripts that are intended as drop-in replacements for the scripts at Matt’s Script Archive

We welcome your comments, questions, corrections and additional information relating to this article. Please be aware that off-topic comments will be deleted.
Or if you need specific help with your account, feel free to contact us anytime
Thank you

Tweet  Share  Pin  Tumble  Email

More Articles Of Interest