Prerequisite:
Perl programming and basic knowledge of HTML.
This customized course
consists of a quick overview of HTML (hypertext mark-up language) for creating
static web pages, and the relationship between the HTTP server and browser; however,
the emphasis of the course is on the creation of dynamic pages and CGI (Common
Gateway Interface) scripts that interact with those pages. The student will learn
how to create simple stand-alone CGI scripts in Perl, how to get information in
and out of the scripts, how to read log files, execute system commands, and use
E-mail. After creating HTML forms using radio buttons, checkboxes, text fields,
etc., the student will learn how to process the forms. Topics covered are decoding
query strings, "Get" and "Post" methods, extra path information,
server side includes, and the CGI.pm library
^
Top
Course
Content - Introduction To Unix
OPERATING SYSTEM - DEFINITION
HISTORY
Ken Thompson & Dennis Ritchie/AT&T Bell Labs
The C Language &
UNIX
UC Berkeley
SVR4
The X Window System
SYSTEM
STARTUP
LOGGING ON
The motd
The
Shell Prompt
LOGGING OUT
THE
UNIX SHELL
What is the Shell
Three Popular Shells
CHANGING
YOUR PASSWORD
System V Passwords
UCB Passwords
The passwd Command
The NIS Database
The yppasswd Command
The ypcat Command
The ypmatch
Command
SPECIAL FUNCTION KEYS
CONTROL
SEQUENCES
Correcting Typos
Program Termination
The Stty Command
BASIC
UNIX COMMANDS
date
who
cal
pwd
ls
cd
clear
finger
tty
uname -n (System V)
hostname (UCB)
COMMANDS
AND ARGUMENTS
Arguments
Options
Multiple
Commands
Examples
MAKING FILES WITH THE VI
EDITOR
Interactive Screen Editor
What is your terminal type?
Setting
your terminal for VI
File naming conventions
Creating files with VI
Insert and Command Mode
The Cursor
Command Mode
Keys to move the
cursor
Insert mode
The esc key
The command line
Getting Started
Commands to insert text
Command line functions
Commands to move the cursor
Deleting text
The put command
The change
command
The yank (copy) command
Vi Quick
Review
FILE MANIPULATION COMMANDS
Displaying
the Contents of Files
cat
more
pg
head
tail
Removing
Files
rm
Spell-Checking Files
spell
Disk Usage of
Files
du
Finding Patterns in Files
grep
Printing
Files
ucb print
iprm
system V Print
ip
ipstat
cancel
Saving files on Storage media
tar
Sorting Files
sort
METACHARACTERS
Metacharacters
File Name Substitution
The * Metacharacter
The ?
Metacharacter
The [
] Metacharacter
Quotation
The backslash
Single Quotes
Double Quotes
DIRECTORIES
AND FILES
Plain Files
Directory Files
Hierarchical Directory Structure
The Naming Convention for Files and Directories
The Home Directory ($Home)
pwd
Making Directories
mkdir
Listing the Directory Contents
ls
Changing Directories
cd
rmdir
Hierarchical Path
Structure
The root Directory
Some System Directories
The Search
Path
Absolute Pathnames
Relative Pathnames
Moving Up the Path
Moving Down the Path
ADVANCED VI
Searching
for a Pattern
Forward Search
The next Command
Backward Search
Substitution of One Pattern for Another
The Substitute Command
Regular Expression Metacharacters and Search Patterns
Yanking (Copying) Text
from One File to Another
Repeat Commands
Undo Edits
Joining Lines
Breaking Lines
Reading Another File Into The Current Buffer
Writing
the Contents of the Current File to Another File
Escape to the Shell
Recovery
of a File When the System Crashes
Setting the vi Parameters
The .exrc
File
Shell Initialization Files
FILE PERMISSIONS
File Permissions
Directory Permissions
Changing Permissions
chmod
MORE
FILE MANIPULATION COMMANDS
Copying Files and Directories
Moving Files
and Directories
Finding Files and Directories
I/O
REDIRECTION
Standard Input
Standard Output
Standard Error
Redirection Metacharacters
ELECTRONIC COMMUNICATION
The mail Command (System V)
AT&T (System V) Mail
Reading Your Mail
Sending Mail
UCB Mail
Reading Your Mail
Sending Mail
Mail
Over the Net
UUCP Addressing
Domain Addressing
PROCESSES
ps
kill
SHELL FEATURES
Job Control
Korn Shell and C-Shell
Korn History
Re-executing Commands at
the Command Line
Command Line Edit Mode
Some Useful vi Commands
The C-Shell's History
Redisplay Commands (History)
Re-executing Commands
Aliases
The Korn Shell's Aliases
The C-Shell's Aliases
THE
END
^
Top
Course Content - Advanced Unix Utilities
and Korn Shell Programming
THE UNIX TOOLBOX
Regular Expressions
grep and Regular Expressions
egrep
The sed Editor
sort
tr
find
AWK PROGRAMMING
Patterns and Regular Expressions
Records
and Fields
Actions
The print Function
Patterns and Actions
The
Input Field Separator
Awk Scripts
Pattern Expressions and Operators
Logical Operators
Arithmetic Operators
Range Patterns
The Conditional
Expression
Assignment Statements
Constants
Variables
-User Defined
Variables
-Increment/Decrement Operators
-Built-in Variables
-Field
Variables
Begin Patterns
End Patterns
The printf Function
Redirection
and Pipes
Conditional Statements
Loops
Arrays
Built-in Awk Functions
-Math Functions
-String Functions
Command Line Arguments
Reading Input
Control Functions
User Defined Functions
INTERACTIVE KORN SHELL
Start-Up
The Environment
The Prompts
Variables
Positional Parameters
Other Special Variables
Korn Shell Variables
Subshells-The Parent/Child
Relationship
Exit Status
History
Aliases
Functions
print Function
Metacharacters
New Ksh Metacharacters
Tilde and - Expansion
Quotes
Command Substitution
Redirection
Pipes
The Here Document
Conditional
Commands
Job Control
Timing Commands
Built-in Commands
PROGRAMMING
THE KORN SHELL
Metacharacters
Redirection and Pipes
Variables
Printing Variables
Variable Expansion Modifiers
Variable Expansion of
Substrings
Variable Attributes (typeset)
Script Writing
Positional
Parameters
Special Variables
Shell Variables
Reading Input
Quotes
Conditionals
if
if/else
if/elif/else
The test Command
The test Command
and String Testing
The let Command and Integer Testing
The Integer
Type
Arithmetic
File Testing
The Null Command
The case
Command
Looping Commands
for
while
until
select
shift
break
continue
I/O Redirection and Loops
The exec Command
and Loops
IFS and loops
Arrays
Functions
Listing Functions
Using Functions
Exported Functions
The Typeset Command and functions
Auto-loading Functions
Debugging
Trapping Signals
Co-Processes
Processing
Command-Line Options
Built-in Commands
Course Content - Perl Programming for Novice Programmers
MODULE 1 -- GETTING WITH IT SYNTACTICALLY
What is Perl
Perl at the Command Line
Perl
Scripts
Print Functions
Literals
Quoting Rules
Here Documents
MODULE 2 -- THE FUNNY CHARACTERS
Variables
Naming Conventions
Scope and Package
Scalars
Assigning a value to a Scalar Variable
Curly Braces and Scalars
The
$_ scalar variable
Arrays
Slices
Split
Function
Associative Arrays
Predefined
Filehandles
Standard Input
Standard Output
Standard Error
MODULE
3 -- OPERATORS AND CONDITIONS
Operators
Arithmetic
Operators
String Operators
Assignment Operators
Precedence and Associativity
Relational and Equality Operators
The
if Construct
Testing Equality
The if/else
Construct
Numeric Operators
String Operators
Logical Operators
The
if/elsif/else Construct
Autoincrement and Autodecriment Operators
String
Operations
Range Operator
MODULE 4 -- REGULAR
EXPRESSIONS, THEY'RE BACK!
Regular Expressions
Simple Statements and Modifiers
Pattern Matching
The Metacharacters
The
tr function
Pattern Matching Operators
MODULE
5 -- GET ME OUT OF THE LOOP
Loops
Labels
and Blocks
The while Loop
The Until Loop
The For Loop
Labels,
Loops, and Loop Control
The foreach loop
Nested Loops and Labels
MODULE
6 -- GETTING A HANDLE ON FILES
User Defined Filehandles
A Little About Dying
The close function
Open for reading
Open for
writing
Open for appending
Open for pipes
The eof function
File
Testing
MODULE 7 -- YOUR ARGUMENT IS WELL TAKEN
Arguments and More Arrays
The @ARGV array--Command
Line Arguments
ARGV and the Shift Functions
Array
Built-in Functions
The grep function
The split function
The join
function
The splice function
The pop function
The push function
The shift function
The unshift function
The reverse function
The sort
function
The chop function
The chomp function
More
associative Arrays
Associative Array Functions
The keys function
The values function
The each function
The delete
function
The exists function
The %ENV Array
MODULE
8 -- OH THE MODULARITY OF IT ALL!
Subroutines
Defining and Calling a Subroutine
Passing by Reference
Passing By Value
The local Function
The return Statement
The
Standard Perl Library
The @INC Array
Packages and .pl Files
The
require function
Including Standard Library Routines
Modules and .pm Files
Using a Perl5 Module
^
Top
Course Content - Perl Programming II
MODULE 1 -- I HID ALL MY PERLS IN A PACKAGE
Packages
The Symbol Table
Using The Strict
Pragma
MODULE 2 -PACK IT UP AND TAKE IT TO
THE LIBRARY
The Standard Perl Library
Including
a Standard Perl Library Routine
Using a Perl5 Module from the Standard Perl
Library
Including your Subroutines from Another Directory
The Exporter
Module and the @ISA Array
Using Modules from the Standard Perl Library
Using Perl to Create Your Own Module
MODULE
3 -- IT'S NOT POLITE TO POINT
References
Symbolic References (aliases
and typeglob)
Hard References (pointers)
Anonymous Variables and References
MODULE
4 -- WHAT'S THE OBJECT OF THIS LESSON
Object Oriented
Perl
OOP Terminology
Classes
The my Function
Objects
-Blessing
Methods
-Invoking Methods
-The "new" Class Method
-Instance
Methods
-Passing Parameters to Constructor Methods
-Passing Parameters
to Instance Methods
Destructors
Inheritance
The @ISA Array
Derived
Classes
MODULE 5 -- POD FILES
Perl
Modules and Documentation
Another Look at the Standard Perl Library
POD Files
POD COmmands
How to Use POD Interpreters
Using a
Module from the Standard Perl Library
MODULE
6 -- TYING VARIABLES AND DBM FILES
Tying Variables
and DBM Files
The Tie Function
Predefined
Methods
DBM Files
Creating and Assigning
Data to a Database
Deleting Entries from a Database
MODULE
7 -- WEB PAGES & HTML
What makes up a WEB page?
Static and Dynamic Pages
The
Common Gateway Interface
Internet Communication Between
Client and Server
HTTP Status Codes and Logfiles
The
URL
WEB Protocols
File URLs and the Server's Root Directory
Creating
a Web Page with HTML
What is HTML
Creating Tags
A Simple HTML Document
A
Little HTML Tutorial
Text Layout
-Comments
-Structure Tags
-Title and Headings
-Formatting Text
-Paragraph and Line Breaks
-The
Horizontal Rule
-Lists
-Tables
-Hyperlinks
-Using Images
-Java Applets
MODULE 8 -- THE COMMON GATEWAY
INTERFACE
Intro to CGI
Error
Logs and Stderr
Access Logs and Status Codes
A
Simple CGI Script
Where to find CGI Applications
Getting Information into and out of a CGI Script
CGI
Environment Variables
An HTML File with a Link to a
CGI Script
MODULE 9 -- PROCESSING FORMS
CGI
and Forms
Input Types for Forms
Creating
a Form
A Simple form with Text Fields, Radio Buttons, and Popup Menus
The
Get Method
Processing the Form
The encoded
query string
Decoding the Query String with Per
Parsing Form Input
Putting
it All Together
The Post Method
Handling
Emai
The SMTP Server
Email and the mailto: Protocol
Extra
Path Information
Server Side Includes
MODULE
10 -- THE CGI.pm MODULE
Introduction
Advantages
Two
Styles of Programming with CGI.pm
Object Oriented Style
Function Oriented
Style
How Input From Forms is Processed
Creating
the HTML Form
HTML Methods (Table 10.1)
Processing the Form's Data with
Param
Checking the Form at the Command Line
CGI.pm
Form Elements (Table 10.3)
Methods for Generating
Form Input Fields
The Textfield Method
The checkbox method
The
radio_group and popup Methods
The popup_menu Method
The Submit and resent
Methods
Clearing Fields with the Override Argument
Error
Handling
Cookies
HTTP
Header Methods
^
Top