This three- or four-day
course provides a thorough introduction
to the Perl programming language.
- Participants learn how to develop and maintain portable scripts
useful for system management, data manipulation, and Web
CGI programming.
- Emphasis is placed on built-in subroutines that can be used
to help conveniently build fast, portable and efficient scripts.
- Extensive hands-on exercises
provide practice in report creation, pattern matching,
string manipulation, file I/O,
command line processing, and debugging.
- Participants are shown how to extend
Perl's basic functionality with packages and loadable
modules.
- The final day encompasses
CGI scripting with Perl as well as database access using the
DBI module.
- Participants are shown how to validate form data, how to
perform
robust database access,
and how to generate HTML output in order to create
a dynamic web site.
Participants
who do not need or want in-depth coverage of CGI scripting and
DBI should attend for just the first three days.
Knowledge
of HTML
is
required to benefit
fully from attendance on the fourth day. Otherwise, basic computer
knowledge is all that is required, although some programming
experience would be advantageous. .
Course
Content
Introduction to Perl
- Origin and Design Goals of Perl
- Overview of Perl Features
- Getting and Installing Perl
- Accessing Documentation via perldoc
- HTML-Format Reference Documentation
- Perl Strengths and Limitations
Getting Started With Perl
- Explicit Invocation of the Perl Interpreter
Running Perl on UNIX vs. Windows
- Running Perl from the Command Line
- Using Command Line Options
- Using Debug Mode
- Implicit Invocation of the Perl Interpreter
- Running and Debugging Perl Scripts
- Simple and Compound Statements
- Fundamental Input Techniques
- Using the print Function to Generate Standard Output
Using Variables
- Scalar Variables
- Introduction to Standard Data Types
- Retrieving Standard Input Using the Default Variable $_
- Assigning Strings and Numbers to Scalar Variables
- Declaring Constants for Persistent Values
- Using strict to Declare Variables
Pattern Matching in Perl
- Regular Expressions in Perl
- Using Pattern Matching Operators
- Altering Data with Substitutions in Regular Expressions
- Using Backreferences to Capture Data from Regular Expression
Matching
- Global and Case-Insensitive Matches
- Altering Data with Character Translation
- Using Variables in Patterns
Operators
- Introduction to Fundamental Operators
- Operator Precedence and Associativity
- Using the Ternary Operator ?: as a Shortcut for the if
Statement
- Using <FILEHANDLE> and <> File I/O Operators for
Standard Input/Output
- Using the Shortcut Operators +=, -=, *=, /=
String Manipulation
- String Comparison
- String Relations
- Concatenation
- Substring Manipulation
- Using chomp and chop to Eliminate EOL Characters
- Escape Characters for Formatting
- String Manipulation Functions
Flow Control: Conditional Statements and Looping
- Conditional
Expressions and Logical Operators
- if/else/elsif and unless
- Constructing switch/case Equivalent Expressions
- while Loops and do Loops
- for and foreach Loops
- Labels
- Altering Program Flow with next, last, and redo
- Trapping Errors with the eval Function
- Terminating a Script with exit
Subroutines and Parameters
- Simplifying Scripts with
Subroutines
- Defining and Calling a Subroutine
- Passing Arguments by Value
- Passing Arguments by Reference
- Using return to Return a Value
- Controlling Variable Scope using my and local Keywords
Arrays and Hashes
- Defining Numeric Index Arrays
- Defining Associative Arrays
- Sorting Arrays with the sort Function
- Adding and Deleting Items Using push, pop, shift,
and unshift
- Using slice, splice, and reverse
- Other Array Manipulation Techniques
- Looping through an Array
- Merging Arrays
- Introduction to Hashes
- Preallocating Memory to Optimize Hash Performance
Packages and Modules
- The Power of Packages and
Modules
- Introduction to Standard Modules
- Where to Find Modules on the Internet
- Installing a Module on UNIX or Windows
- Creating Packages for Portability
- Using Packages to Create Isolated Namespaces
and to Separate Code
File Manipulation
- Using open and close
- Difference Between print and write
- Reading and Writing Arrays
- Directory Manipulation Using opendir, closedir,
readdir, chdir, mkdir and rmdir
Input/Output Processing
- Parsing Input
- Using Standard Input, Standard Output, and
Standard Error
- String and Field Processing
- Using Streams and Pipes
- Using die to Quit with an Error
- Redirecting Standard Output and Standard
Error to a File
- Getting Standard Input from a File
Implementing Command Line Arguments
- Reading
Command Line Arguments from @ARGV
- Manipulating Positional Parameters with
push, pop, shift
- Processing Command Line Options with
getopt or getopts
- Analyzing Command Line Argument Values
with the Getopt::Std and Getopt::Long
Modules
- Reserved Variables
- Manipulating Identifiable Options Using
GetOptions
Perl Report Formatting
- Defining Report
Formats
- Justifying Text (Left, Right, Center)
- Using write to Generate Reports
- Defining here Documents for Report
Customization
- Creating Report Headers
- Using Built-in Variables to Control
Report Appearance
- Printing Line Numbers on a Report
- Formatting Multi-Line Output
- Writing Formatted Text to a File
Debugging In Perl
- Using the Built-in
Perl Debugger
- Starting the Debugger
- Debugger Command Syntax
- Checking for Script Syntax Errors
- Solving Compile-Time Errors
- Single-Stepping through a Script
- Executing to Breakpoints
- Setting Global Watches
- Printing Values of Variables
- Listing All Variables Used in the
Script
- Using strict Error Checking
- Quitting the Debugger
Web Architecture and CGI Scripting
Overview
- Evolution of the World Wide
Web
- The WWW as a Computing Platform
- Perl’s Role in Distributed Web Applications
- Client and Server Interaction
- How Server-Side CGI Scripts Work
- Differences between Client-Side
and Server-Side Script Environment
- Strengths and Weaknesses of Web
Programming Languages
- Maintaining State in the Web Architecture
Using Cookies and QueryString Variables
- Using Environment Variables to
Control CGI Scripts
CGI Scripting with Perl
- Communicating
with the Web Server
- Perl CGI Script Instantiation
and Invocation
- Generating Output for the Browser
- Understanding the Differences
between the Get and Post Methods
in an
HTML Form
- Using Form Data Validation
to Check Data Values
- Storing and Retrieving Form
Data
- Using Cookies and QueryString
Variables to Maintain State
Across Invocations
- CGI Security Mechanisms
Using the CGI.pm Module
- Overview
of HTML Generation Using
CGI.pm
- Creating HTML Using CGI.pm
Methods
- Using HTML Elements Built
into the CGI.pm Module
Headers
- Hyperlinks
- Images
- Forms
- Form Elements
- Retrieving Form Data Using
the param Method
Using the DBI Module
- Fundamental
Characteristics of
Relational Databases
- Using DBI and DBD to
Connect to a Database
- Fundamental Data Storage
and Retrieval Strategies
- Using SQL Statements
to Communicate with
the Database
- DBI Query Syntax
- Using DBI Methods to
Retrieve Database Information
- Initializing and Connecting
to a Database
- Preparing a SQL Statement
- Executing the SQL Statement
Against the Database
- Fetching the Result
Set to Achieve Workable
Data
in the
Perl Script
- Useful Utilities to
Aid in Database Development
- Using Other Modules
to Access Databases
on the
Web
Web Programming Optimization
Using ModPerl
- Overview
of Apache Web
Server Functionality
- Comparing the Speed
of CGI Scripting
vs. ModPerl
- Configuring Apache
with Perl and ModPerl
- Apache Strengths
and Limitations
- Using the Apache::Registry
Module
- Extending and Enhancing
Apache Functionality
- Using High-Level
Packages to Help
Develop Scalable
and Easily
Managed
Web Applications
|