Introduction to Perl/CGI Training

Course duration

Course Benefits

  • Understand how CGI applications work
  • Learn to use Perl's CGI.pm module
  • Learn to create dynamic forms with Perl
  • Learn to use server-side includes
  • Learn to manage database data with Perl
  • Learn to maintain sessions and use cookies with Perl
  • Under web security issues

Course Outline

  1. The Internet and the Web
    1. TCP/IP and Ports
    2. DNS vs. Hosts Files
    3. Servers and Clients
    4. Client/Server Protocols
  2. Browsers and Servers
    1. URLs
    2. WEB Browsers and Servers
    3. The Hypertext Transfer Protocol
    4. HTTP Requests and Responses
    5. HTTP Headers
    6. HTTP Requests
  3. Introduction to CGI
    1. HTML Tag Structure
    2. HTML Document Structure
    3. URLs and CGI
    4. CGI Programs
    5. Running and Debugging from the Command Line
    6. Running and Debugging from a Browser
    7. Handling an HTML Form with CGI
    8. Generating HTML
  4. CGI and Perl
    1. Perl
    2. Perl Programs
    3. Why Use CGI.pm (and Where is It?)
    4. Running and Debugging from the Command Line
    5. Generating HTML with CGI.pm
    6. Running and Debugging from a Browser
    7. Command Line Debugging
  5. Generating HTML
    1. Introduction to CGI.pm
    2. How to use CGI.pm's Online Documentation
    3. CGI.pm's Rules for General HTML Tags
    4. CGI.pm's Rules for HTML Form Tags
    5. Named vs. Positional Parameters in CGI.pm
  6. Generating Forms
    1. General Structure of HTML Forms
    2. Form Element Tags
    3. Pushbuttons
    4. Radiobuttons
    5. Checkboxes
    6. Popups and Listboxes
    7. Textfields, Passwords, and Textareas
  7. CGI Data Flow Architecture
    1. URL Encoding and Decoding
    2. Data Flow between Browsers and Servers
    3. GET vs. POST
    4. Which to Use?
    5. CGI Environment Variables
    6. Accessing CGI's Environment Variables
  8. Processing Form Data
    1. Static Forms
    2. Dynamic Forms
    3. Controlling Flow with User Input
    4. Accessing Form Data Using CGI.pm
    5. The param Method of CGI.pm
    6. Sticky Widgets
    7. Validating Input from the Browser
    8. Lists
    9. Scalar and List Contexts
    10. Hashes
    11. Hash Functions
  9. Client-side Statefulness
    1. Stateful vs. Stateless
    2. Why use Stateful CGI Applications?
    3. Program to Program Interaction
    4. Stateful Access with Hidden Fields
    5. Multiple Forms and Hidden Fields
    6. Stateful Access with Netscape Cookies
    7. Using Cookies with CGI.pm
    8. Cookie Management
  10. Database Access
    1. Server-side Statefulness
    2. Flat-file Databases
    3. Structuring Text Data
    4. File Permissions and Flat-file Databases
    5. Perl's DBM Interface
    6. Perl's DBI/DBD Interface
    7. Issues with Statefulness
  11. Additional Web Programming Features
    1. Extra Path Information
    2. Frames
    3. Server Side Includes (SSI)
    4. The exec command
    5. A Page Hit Counter Using SSI
    6. Animation Description
    7. Netscape's Server Push
    8. Client Pull
    9. The GD.pm Module
  12. CGI Security Issues
    1. Browser to Server Security Issues
    2. CGI Security Issues
    3. CGI Interaction with the Operating System
    4. Database/File System Overflow
    5. CGI and User Authentication

Class Materials

Each student will receive a comprehensive set of materials, including course notes and all the class examples.

Class Prerequisites

Experience in the following is required for this Perl class:

  • Familiarity with HTML forms.
  • Basic UNIX skills and the ability to use VI or a basic text editor
Since its founding in 1995, InterSource has been providing high quality and highly customized training solutions to clients worldwide. With over 500 course titles constantly updated and numerous course customization and creation possibilities, we have the capability to meet your I.T. training needs.
Instructor-led courses are offered via a live Web connection, at client sites throughout Europe, and at our Geneva Training Center.