CGI Programming Using Perl
Course Description
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.
3 days
Contact us for pricing
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.Course Introduction
Course ObjectivesCourse Overview
Suggested References
The Internet and the Web
TCP/IP and PortsDNS vs. Hosts Files
Servers and Clients
Client/Server Protocols
Browsers and Servers
URLsWEB Browsers and Servers
The Hypertext Transfer Protocol
HTTP Requests and Responses
HTTP Headers
HTTP Requests
Mime Types
Introduction to CGI
HTML Tag StructureHTML 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
PerlPerl 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.pmHow to use CGI.pm's Online Documentation
CGI.pm's Rules for General HTML Tags
CGI.pm's Rules for HTML Form Tags
Named vs. Positional Parameters in CGI.pm
Generating Forms
General Structure of HTML FormsForm Element Tags
Pushbuttons
Radiobuttons
Checkboxes
Popups and Listboxes
Textfields, Passwords, and Textareas
CGI Data Flow Architecture
URL Encoding and DecodingData Flow between Browsers and Servers
GET vs. POST
Which to Use?
CGI Environment Variables
Accessing CGI's Environment Variables
Processing Form Data
Static FormsDynamic 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 StatelessWhy 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 StatefulnessFlat-File Databases
Structuring Text Data
File Permissions and Flat-File Databases
Perl's DBM Interface
Perl's DBI/DBD Interface
Issues with Statefulness
Additional Web Programming
Extra Path InformationFrames
Server Side Includes (SSI)
The exec command
A Page Hit Counter Using SSI
Animation Description
Netscape's Server Push
Client Pull
The GD.pm Module
CGI Security Issues
Browser to Server Security IssuesCGI Security Issues
CGI Interaction with the Operating System
Database / File System Overflow
CGI and User Authentication
Perl