Sites For Teachers Logo
ClassHelper News
About ClassHelper.org
Free Math Resources
Free School Clip Art
Crossword Puzzles
Word Find Puzzles
Cryptogram Puzzles
Word Jumble Puzzles
Class Project Ideas
Resources Directory
 
Wikipedia Affiliate Button

Your First Perl Web Application

Perl for the Web

Perl has a long relationship with the web. Although it wasn't designed exclusively for web solutions, millions of web sites have used Perl via CGI scripts and mod_perl to offer dynamic content to their users. With its relative ease of use, inclusion in almost every UNIX/Linux hosting package available, and wealth of pre-existing programs and application frameworks, Perl remains a solid choice for web development. High-profile sites like Amazon.com, Google, and Slashdot.org use Perl applications to drive hundreds of millions of page views per day, the language has certainly proven its scalability when used properly.

You're probably not planning on using Perl to drive a million-dollar website (at least not for a while), and that's okay; we're going to start really small with a couple of basic examples of CGI scripts. To use these examples, you'll need to have a web server package like Apache or Microsoft IIS installed on your web server or desktop.

"Hello World" for the Web in Perl

#!/usr/bin/perl -w

use strict;

my $message = "Hello, world! We're using Perl.";

print "Content-type:text/html\n\n";

print <<HTMLSTOP
<html>
<head>
<title>My First Web-Based Perl Script</title>
</head>
<body>
<h1>$message</h1>
HTML output in Perl is really easy.
</body>
</html>
HTMLSTOP

Depending on your web server's configuration, you may need to save your scripts to a folder like "cgi-bin" under the root of your website. Also, you may need to save your Perl scripts with a ".cgi" extension, and you need to make sure that file permissions are properly set (generally speaking, you should allow all users to read and execute the scripts).

Let's take a look at how our example works. When you run Perl in concert with web server software, the server (typically Apache) handles the job of making a network connection between the web site user and your script. By default, standard output is redirected to the visitor's browser instead of appearing in a console window or log file. If your goal is to send HTML to the visitor's browser (99% of time this is the case), you need to include code that sends a proper header to the browser. This is what the first print statement in our example does. There are ways to send a more complete and standards-compliant browser header (such as the methods used in CGI.pm), but our technique is sufficient for learning purposes. Once the header string is sent, you can use additional print statements in any fashion you like to write HTML to the browser.

The next chapter will show you how to a simple web application that accepts user input and acts on the supplied values.

Continue: Getting User Input with HTML Forms

Table of Contents

  1. Introduction and Motivation
  2. System Requirements and Getting Perl
  3. Variables and Data Types
  4. Program Flow Control
  5. File Input/Output
  6. Subroutines and Code Reuse
  7. Your First Web Application
  8. Getting User Input with HTML Forms
  9. Coding Style and Maintenance
  10. Security Considerations
  11. Additional Programming Resources