CGI/Perl Fundamentals : Programming Common Gateway Interface & Perl

Course Description

Overview:   This two-day course provides an in-depth understanding and hands-on knowledge of the capabilities of the de facto Internet client-server communications protocol: Common Gateway Interface (better known as CGI).

  In this course, you will learn about the specifications of the CGI protocol, details regarding its operation, and how to use the Perl programming language to perform common and powerful CGI communications and processing tasks on a Web server.

  To get the most from this course, you should have a thorough understanding of and experience with HTML 4.0. Experience with a programming language is not necessary, but will speed your progress.

Prerequisites:    To ensure your success, we recommend you first take the following Element K course or have equivalent knowledge:

   A solid knowledge of HTML 4.0, including forms and form properties, is assumed. In addition, students should be familiar with the process of uploading files to a Web server via FTP (File Transfer Protocol).

Performance-Based Objectives

Lesson objectives help students become comfortable with the course, and also provide a means to evaluate learning. Upon successful completion of this course, students will be able to:


Course Content

Lesson 1: Introduction to CGI

 Topic 1A: CGI: Beyond HTML

 Topic 1B: How a Web Server Functions

 Topic 1C: The CGI Protocol

 Topic 1D: CGI Programming Languages

Lesson 2: Introduction to Perl

 Topic 2A: History of Perl

 Topic 2B: Perl Advantages & Disadvantages

 Topic 2C: The Perl Interpreter

 Topic 2D: Perl File Conventions

 Topic 2E: Using Perl on UNIX

Lesson 3: How Perl Talks to the Browser

 Topic 3A: Perl / Browser Communication

 Topic 3B: Making a CGI Look Like a Web Page

 Topic 3C: Print Using "qq"

 Topic 3D: Printing Multiple Lines

Lesson 4: Perl Variables

 Topic 4A: Variables

 Topic 4B: Scalars

 Topic 4C: Arrays

 Topic 4D: Hashes

Lesson 5: Perl Loops & Logic

 Topic 5A: Loops

 Topic 5B: Logical Operations

 Topic 5C: if…

 Topic 5D: Else & elsif

Lesson 6: How the Browser Talks to Perl

 Topic 6A: Environment Variables

 Topic 6B: GET & POST

 Topic 6C: Using CGI.PM

 Topic 6D: Debugging CGIs

Lesson 7: Storing & Retrieving Information

 Topic 7A: Storing Data

 Topic 7B: Appending Data

 Topic 7C: Reading Data

Lesson 8: REGEX: The Match Operator

 Topic 8A: Introduction to Regexes

 Topic 8B: The m// Operator

 Topic 8C: i Modifier

 Topic 8D: Special Characters

 Topic 8E: Character Classes

 Topic 8F: Parentheses

Lesson 9: REGEX: The Substitute Operator

 Topic 9A: s/// Operator

 Topic 9B: More Modifiers

 Topic 9C: Backreferences

 Topic 9D: tr/// Operator

Lesson 10: Subroutines

 Topic 10A: Organizing Data

 Topic 10B: Scoping

 Topic 10C: Functions

Lesson 11: CGI Techniques

 Topic 11A: Outputting Graphics

 Topic 11B: Outputting PDF

 Topic 11C: Redirecting the Browser

 Topic 11D: Using HTML Templates

 Topic 11E: Cookies

 Topic 11F: Sending E-mail Using CGI

Lesson 12: CGI Security

 Topic 12A: Web Server Security

 Topic 12B: Writing Secure CGIs