Software engineers, programmers, web site administrators, and system administrators who will be designing and creating programs using Perl. Anyone desiring the ability to read and understand Perl programs for maintenance and update purposes.
This course is available in a "crunched" 4-day version, which eliminates some of the extended lab reviews and prolonged discussions of alternate techniques.
Why Perl?
The Hello World
Program
Prompting for Data
Adding Choices
Handling Varying Input Formats
Moving the Secret Word List to a File
Obtaining Info from the OS
Lesson Review
Scalars
Numbers
Strings
Scalar Conversion
Scalar Variables
The undef
Value
Lesson Review
Arrays
Array Literals
Operators
Scalar and Array Context
Array Input
Joining Array Elements Together
Variable Interpolation of Arrays
Special Arrays
Lesson Review
Control Flow
Statement Blocks
if
and unless
while
and until
for
and foreach
last
, next
, and redo
Labeled Blocks
Expression Modifiers
and
and or
and How to Use Them
&&
, ||
, and ?:
Conditions
Lesson Review
Debugging
Theory of Operation
Basics of Commands
Breakpoints and Tracing
Displaying Data
Single-stepping
Continuing Execution
Nifty Features of the Debugger
Bugs in the Debugger
Common Goofs for Novices
Modules and Packages (in Brief)
Wrap-up
Lesson Review
Hashes
What Are Associative Arrays?
Literals
Using Associative Arrays
Associative Array Access - keys
and values
Associative Array Access - each
and delete
Operators and Access Functions
Special Associative Arrays
Advanced: Sorting Tips for Hash Arrays
Lesson Review
References
How Do I Put an Array Inside an Array?
What is a Reference?
Creating Hard References
Anonymous Arrays
Anonymous Hashes
How Do I Access What the Reference Refers To?
Using the Arrow Operator
Where to Go From Here
Lesson Review
Regular Expressions
What Are Regular Expressions?
Simple Uses of Regular Expressions
An Example Data File
The Matching Operator
Substitutions
Greedy Matching
Builtin Variables
Lesson Review
File Input/Output
Input from STDIN
Using the Diamond Operator
Opening and Closing Files and Pipes
Output to STDOUT and STDERR
File Tests and Filehandles
The stat
and lstat
Functions
Directory Access
Chdir and Filename Globbing
Lesson Review
Addendum - ChkPath.pl
Functions
Defining a User Subroutine
Invoking a Subroutine
Return Values
Function Parameters
Using local
and my
Code Modularity
Lesson Review
Formats
What are Formats?
Defining Formats
Format Specifiers
Using the write
Command
Top-of-Page Formats
Changing the Report Defaults
Dynamic Formats
Lesson Review
Processes
File Management
Process Management
Opening a Pipe
exec
Backquotes
system
fork
and wait
Signals
Lesson Review
System Access
Users and Groups
Win32 Information
Using These Functions
Using pack
for Binary Data
Using pack
and unpack
Network Data
Lesson Review
User Database Access
DBM - DataBase Managers
Opening and Closing DBM files
Fixed-Length Records
Variable-Length Records
tie
and untie
Lesson Review
Perl 5 Extras
Standard Perl Library
Available from CPAN
Module Listing
Object-Oriented Constructs
Objects
Lesson Review
Upon completion of this course, the student will be able to:
Design and code Perl scripts for data manipulation and text processing, including CGI and DBI use
Understand the issues in Perl client/server applications
Use standard system commands from within Perl scripts
Produce reports using simple "page layout" techniques
Understand how modularity and code reuse is implemented in Perl
Understand how Perl can be extended through the use of modules to access vendor databases, graphical user interfaces, network protocols, and other high-level concepts
Students are invited to bring their current ideas and questions to the classroom for discussion. Lecture, group problem solving, and online laboratories will be used. Students will be encouraged to enhance their skills utilizing the techniques presented through classroom problem solving and controlled online workshops. This course is approximately 50% labwork.
None, although experience in any interpreted scripting language would be particularly helpful (Visual Basic, Unix shell, TCL/Tk, Python, JavaScript, etc).