24.3. A Simple CGI Example

It's important to wrap up this discussion by showing a simple, but working, CGI script. Don't be too concerned about understanding how the script works at this point. Subsequent chapters will explain more about accomplishing CGI using particular languages. Right now, just be conscious of the various sections of the script (outlined by comments) and what those sections contain.

Example: A Perl CGI Script

This script outputs a simple XHTML document containing one paragraph that includes a parameter passed via GET.

Source

#!/usr/bin/perl

# Use CGI methods to get parameters
use CGI;
my $cgi = CGI->new();
my %params = $cgi->Vars;


# Print document header
print "Content-type: text/html\n\n";
print <<HTML;
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
  <title>CGI Example</title>
</head>
<body>

HTML

# Print "Hello name" where name is from GET data
print "Hello ", $cgi->{'name'}[0], "</p>\n";

# Close document
print "</body>\n</html>";

Output

The output of this script is shown in Figure 24-5. Note that the parameter (name), passed via GET, appears on the address line (appended to the URL).

Figure 24-5. Figure 24-5

Get Web Standards Programmer's Reference: HTML, CSS, JavaScript®, Perl, Python®, and PHP now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.