CGI Programming Using Perl Training Course – PRL480

This course bridges the gap between using HTML to create static Web pages and using Perl CGI scripts to create dynamic Web pages. The course emphasizes using the Perl 5 CGI library routines to process HTML forms by providing extensive working examples and by students writing applications to illustrate the concepts presented. This course is not intended to be a substitute for a Perl programming course.

CGI Programming Using Perl Training Course

CGI Programming Using Perl – PRL480 – 3 Days Get a Group Quote

This course bridges the gap between using HTML to create static Web pages and using Perl CGI scripts to create dynamic Web pages. The course emphasizes using the Perl 5 CGI library routines to process HTML forms by providing extensive working examples and by students writing applications to illustrate the concepts presented.

Not on public schedule. Request a class date


Course ID: PRL480     Duration: 3 days
Audience: Web site developers wanting to create interactive Web pages.
Prerequisites: Familiarity with HTML forms. Programming experience is required. Basic UNIX skills and the ability to use VI or a basic text editor are also required

CGI Programming Using Perl Training Topics

The Internet and the Web

  • TCP/IP and Ports
  • DNS vs. Hosts Files
  • Servers and Clients
  • Client/Server Protocols

Browsers and Servers

  • URLs
  • WEB Browsers and Servers
  • The Hypertext Transfer Protocol
  • HTTP Requests and Responses
  • HTTP Headers
  • HTTP Requests
  • Mime Types

Introduction to CGI

  • HTML Tag Stucture
  • HTML Document Structure
  • URLs and CGI
  • CGI Programs
  • Running and Debugging from the Command Line
  • Running and Debugging from a Browser
  • Handling an HTML Form with CGI
  • Generating HTML

CGI and Perl

  • Perl
  • Perl Programs
  • Why Use CGI.pm (and Where is It?)
  • Running and Debugging from the Command Line
  • Generating HTML with CGI.pm
  • Running and Debugging from a Browser

Generating HTML

  • Introduction to CGI.pm
  • How to use CGI.pm Online Documentation
  • CGI.pm Rules for General HTML Tags
  • CGI.pm Rules for HTML Form Tags
  • Named vs. Positional Parameters in CGI.pm

Generating Forms

  • General Structure of HTML Forms
  • Form Element Tags
  • Pushbuttons
  • Radiobuttons
  • Checkboxes
  • Popups and Listboxes
  • Textfields, Passwords, and Textareas

CGI Data Flow Architecture

  • URL Encoding and Decoding
  • Data Flow Between Browsers and Servers
  • GET vs. POST
  • Which to Use?
  • CGI Environment Variables
  • Accessing CGI Environment Variables
Processing Form Data

  • Static Forms
  • Dynamic Forms
  • Controlling Flow with User Input
  • Accessing Form Data Using CGI.pm
  • The param Method of CGI.pm
  • Sticky Widgets
  • Validating Input from the Browser
  • Command Line Debugging

Client-Side Statefulness

  • Stateful vs Stateless
  • Why use Stateful CGI Applications?
  • Program to Program Interaction
  • Stateful Access with Hidden Fields
  • Multiple Forms and Hidden Fields
  • Stateful Access with Netscape Cookies
  • Using Cookies with CGI.pm
  • Cookie Management

Database Access

  • Server-Side Statefulness
  • Flat-File Databases
  • Structuring Text Data
  • File Permissions and Flat-File Databases
  • Perl DBM Interface
  • Perl DBI/DBD Interface
  • Issues With Statefulness

Additional Web Programming Features

  • Extra Path Information
  • Frames
  • Server Side Includes (SSI)
  • The exec command
  • A Page Hit Counter Using SSI
  • Animation Description
  • Netscape Server Push
  • Client Pull
  • The GD.pm Module

CGI Security Issues

  • Browser to Server Security Issues
  • CGI Security Issues
  • CGI Interaction with the Operating System
  • Database / File System Overflow
  • CGI and User Authentication

Appendix 1 – Overview of Perl

  • What is Perl?
  • Running Perl Programs
  • Sample Program
  • Another Sample Program
  • Yet Another Example

Appendix 2 – Perl Variables

  • Three Types of Variables
  • Variable Names and Syntax
  • Variable Naming
  • Lists
  • Scalar and List Contexts
  • Hashes
  • Hash Functions

Appendix 3 – Flow Control

  • Simple Statements
  • Simple Statement Modifiers
  • Compound Statements
  • The next, last, and redo Statements
  • The for Loop
  • The foreach Loop