CGI.pm: a Perl Module for Web CGI Programming
Authorized User
CGI.pm: a Perl Module for Web CGI Programming
What you can do with CGI.pm
What CGI.pm Does
CGI is easy; I can do it myself!
First Example
Output from 1st Example
What it Looks Like
CGI Script Basics, Part 1
How CGI Scripts are Executed
The HTTP Header
The header() Function
The -status Argument
header() Arguments
HTML Shortcuts
Using HTML Shortcuts
HTML Shortcuts Nest
HTML Shortcuts are Distributive
HTML 3.2 Extensions
What it Looks Like
Other Importable Sets
Creating New Shortcuts
Non-Standard Shortcuts
start_html()
start_html() Arguments
A start_html() Example
What it Looks Like
CGI Environment
Access to CGI Environment
A Dynamic Page
Dynamic Page Output
Interactive Scripts
Creating Fill-Out Forms
start_form() & end_form()
start_form parameters
Form Element Arguments
textfield()
popup_menu()
popup_menu() output
scrolling_list()
scrolling_list() output
Changing List Labels
submit(), reset() & defaults()
Putting it Together
How it Looks
Retrieving the Field Values
Complete Example
What it Looks Like
"Sticky" Field Values
Example Stickiness
Manually Setting Fields
Importing CGI Fields
Redirection
Intermission
Part 2: Advanced Techniques
Debugging from Command Line
2 Ways to Run Without Waiting
Handling Funny Characters
Object-Oriented Style
Example OO Style
CGI Object Initialization
Saving & Restoring CGI Objects
Format of a Saved CGI Object
Reading States from a Database
Accessing Internal CGI Object
File Upload
Generating Fill-Out Form
Reading the File
Other Things You Can Do
Accessing Temporary File
Cookies
Working with Cookies
Creating & Sending Cookies
cookie() arguments
-value flexible
Sending Multiple Cookies
Retrieving Cookies
Cascading Style Sheets
Defining a Style Sheet
Stylesheet example
JavaScript
Attach JavaScript to Page with start_html()
Creating Event Handlers
Clickable Image Maps
Using Frames
NPH Scripts
Activating NPH Mode
mod_perl
FastCGI
Server Push
Better Error Reporting
Using CGI::Carp
Send error messages to log file
Future Directions for CGI.pm
URL FOR THIS TALK