<IMG SRC="fla_train.gif" WIDTH=200 HEIGHT=400 BORDER=0> <IMG SRC="fla_fill.gif" WIDTH=200 HEIGHT=400 BORDER=0> <IMG SRC="fla_fill.gif" WIDTH=200 HEIGHT=400 BORDER=0> <IMG SRC="fla_fill.gif" WIDTH=200 HEIGHT=400 BORDER=0> <IMG SRC="fla_fill.gif" WIDTH=200 HEIGHT=400 BORDER=0>
Click Here for the Outline in PDF Version
Course Outline: Perl Programming

(5 Days) with Hands-On Labs
    Learning Objectives

  • Manipulate files and directories
  • Use the powerful regular expression capabilites of Perl
  • Generate ‘awk’ like reports
  • Solve problems by using Perl’s associative array capabilites
  • Take Advantage of Perl’s powerful interface to UNIX and other OS’s
  • Perform network communication including those tasks accomplished through CGI programming
  • Perform many system administration functions
  • Be able to use Perl to write CGI applications
  • Be able to use Modules from the Standard Perl distribution
  • Use Perl data structures and references
  • Use object orientation in Perl
  • Create objects and reuse classes


This course description should be used to determine whether the course is appropriate for you based on your current skill and technical training needs. Technical information is provided on the intended audience, course prerequisites, and covered topics. Course content, prices, and availability are subject to change without notice.


Course Audience

Programmers, end users, system administrators, network administrators, CGI script writers, or anybody who is interested in automating tasks but doesn’t want to learn all the details of an all out programming language.

Course Description

Perl is a scripting language which allows for rapid prototyping of projects formerly done with a programming language or a shell. It incorporates all the functionality of C (including a UNIX system interface), the Shells, grep, sed, and awk. The topics in the course will aid all computer users - from end user to programmer to administrator alike. Many in class labs support the course material.

Course Objectives

At course completion the student will be able to perform the following tasks:


  • Manipulate files and directories
  • Use the powerful regular expression capabilites of Perl
  • Generate ‘awk’ like reports
  • Solve problems by using Perl’s associative array capabilites
  • Take Advantage of Perl’s powerful interface to UNIX and other OS’s
  • Perform network communication including those tasks accomplished through CGI programming
  • Perform many system administration functions
  • Be able to use Perl to write CGI applications
  • Be able to use Modules from the Standard Perl distribution
  • Use Perl data structures and references
  • Use object orientation in Perl
  • Create objects and reuse classes
Prerequisites

Some experience with either a programming language (preferably C), or any of the UNIX shell scripting languauges.

TOPICS COVERED IN LECTURE & LAB

A PERL TUTORIAL

  • What is Perl?
  • Where can I get Perl
  • The first Perl program
  • Simple I/O
  • Perl variables
  • Numbers
  • Arrays
  • Array functions
  • Arrays and STDIN
  • Control flow constructs
  • Altering loop control flow
  • Labeled Blocks for long breaks
  • Statement modifiers
  • What is true and what is false
  • Associative arrays
  • The special built in variable - $_
  • Pattern matching and w/ regular expressions
  • Writing your own functions
I/O IN PERL

  • Introduction
  • Literals and escape sequences
  • The print function
  • The printf function
  • The sprintf function
  • Filehandles
  • Opening disk files
  • File open errors
  • Closing files
  • Opening pipe files
  • Command line arguments
  • File operators
  • The stat operator
  • The _ filehandle
PERL OPERATORS

  • Introduction
  • Table of Perl operators
  • Assignment operators
  • Special String operators
  • Relation operators
  • Logical operators
  • Arithmetic operators
  • The conditional expression
  • The range operator
  • Regular expression operators
  • String operators
ARRAYS + ARRAY FUNCTIONS

  • Introduction
  • Assigning values to an array
  • Subscripting
  • Array functions
  • push and pop
  • shift
  • sort, reverse, chop
  • split, join
  • grep
  • splice
  • Associative arrays
  • Associative array functions
  • Associative array example
  • Built in associative arrays
  • Reading from a file into an associative array
SUBROUTINES

  • Subroutines
  • Passing arguments to subroutines
  • Returning values
  • The require function
  • @INC
  • Packages
  • Modules and use
  • Typeglobs
  • Predefined subroutines
DATA STRUCTURES

  • References
  • Higher Dimensional Arrays
  • Complex Hashes
  • References and Subroutines
  • Linked Lists
ACCESSING SYSTEM RESOURCES

  • Introduction
  • File and directory system calls
  • mkdir, chdir, and chown
  • Opendir and readdir
  • Link, unlink, rename
  • Time stamps for disk files - stat and utime
  • Process creation - fork
  • exec and wait
  • signals
  • system
ODDS AND ENDS

  • eval
  • warn
  • quoting
  • Sorting with custom comparison functions
  • here strings
  • tr
  • pack and unpack
  • Regular Expressions
  • Command Line Options
  • Debugging
  • The strict.pm module
  • The -w flag
  • The Perl debugger
GENERATING REPORTS WITH PERL

  • Introduction
  • Formats
  • Multi-Line formats
  • Filled Field formats
  • Top of Page formatting
  • The select operator
  • Special Format Variables: $~, $^
  • A sample report generator
CLIENT/SERVER APPLICATION USING TCP/IP

  • Introduction
  • Internetworking with TCP/IP
  • Client/Server applications
  • Perl functions for networking applications
  • A simple client/server application
  • Code for the client program
  • Code for the server program
  • Client/Server Programming using Socket.pm
A CGI PRIMER

  • Introduction
  • A typical form
  • Web Servers & Web Clients
  • HTML & HTML form tags
  • CGI Input
  • GET methods
  • CGI Output
  • Environment Variables
  • Decoding form data
MODULES & OBJECT ORIENTED PROGRAMMING

  • Perl Modules included with the distribution
  • What is CPAN?
  • Packages v.s Modules
  • The use directive
  • Importing and exporting symbols
  • Object Oriented Programming
  • Defining and creating objects
  • Implementing information hiding
  • Destructors
  • Inheritance
  • Polymorphism
  • Documenting Perl code
Policy