PERL Programming Training
Request a Class


COURSE COST: $2995.00

COURSE TIMES: 9:00am - 4:30pm

Printable version of this course


Perl has been described as C, awk, sed, and shell programming all wrapped into one language. In this intense, 5-day, hands-on programming course, you will learn how to take advantage of Perl's power through examples and extensive exercises. Arrays and hashes, I/O, regular expressions, subroutines, and complex data structures are covered in depth. The course also introduces object-oriented programming in Perl, as well as UNIX multi-tasking and Perl sockets programming.


Programmers and system administrators.

Fundamentals of UNIX. Experience in a high-level programming language, such as C, C++, or Java, is strongly recommended.


*Course cost listed does not include the cost of courseware (required) or lunch (optional). Please contact us at or 207-775-0244 for additional pricing information, or if you have any questions. Course is subject to minimum enrollment. This course may run as a Virtual Live Distance Learning if minimum enrollment is not met.


Overview of Perl
•What is Perl?
•Running Perl Programs
•Sample Program
•Another Sample Program
•Yet Another Example

Perl Variables
•Three Data Types
•Variable Names and Syntax
•Variable Naming
•Scalar and List Contexts
•The Repetition Operator

Arrays and Hashes
•Array Functions
•The foreach Loop
•The @ARGV Array
•The grep Function
•Array Slices
•Hash Functions
•Scalar and List Contexts Revisited

Quoting and Interpolation
•String Literals
•Array Substitution and Join
•Backslashes and Single Quotes
•Quotation Operators
•Command Substitution
•Here Documents

•Perl Operators
•Operators, Functions and Precedence
•File Test Operators
•Assignment Operator Notations
•The Range Operator

Flow Control
•Simple Statements
•Simple Statement Modifiers
•Compound Statements
•The next, last, and redo Statements
•The for Loop
•The foreach Loop

I/O: Input Operations and File I/O
•Overview of File I/O
•The open Function
•The Input Operator
•Default Input Operator
•The Print Function
•Reading Directories

Regular Expressions
•Pattern Matching Overview
•The Substitution Operator
•Regular Expressions
•Special Characters
•Quantifiers (*, +, ?, {})
•Assertions (^, $, \b, \B)

Advanced Regular Expressions
•Substrings in List Context
•RE Special Variables
•RE Options
•Multi-line REs
•Substituting with an Expression
•Perl RE Extensions

•Overview of Subroutines
•Passing Arguments
•Private Variables
•Returning Values

•Creating References
•Using References
•Passing References as Arguments to Subroutines
•Anonymous Composers
•The Symbol Table

Complex Data Structures
•Two-dimensional Arrays in Perl
•Anonymous Arrays and Anonymous Hashes
•Arrays of Arrays
•Arrays of References
•A Hash of Arrays
•A Hash of Hashes
•And So On...

Packages and Modules
•BEGIN and END Routines
•require vs. use
•The bless Function

Introduction to Object-Oriented Programming in Perl
•What is Object-Oriented?
•Why Use Object-Oriented Programming?
•Classes, Objects, and Methods in Perl
•Inheritance, the "is-a" Relationship
•Containment, the "has-a" Relationship
•Overloaded Operators

Binary Data Structures
•Variable-Length (Delimited) Fields
•Variable vs. Fixed
•Handling Binary Data
•The pack Function
•The unpack Function
•The read Function
•C Data Structures

Multitasking with Perl
•What are Single and Multitasking?
•UNIX Multitasking Concepts
•Process Creation with fork
•Program Loading with exec
•File Descriptor Inheritance
•How UNIX Opens Files
•One-Way Data Flow - Pipes
•Final Result - Page Viewing

Sockets Programming in Perl
•Clients and Servers
•Ports and Services
•Berkeley Sockets
•Data Structures of the Sockets API
•Socket System Calls
•Generic Client/Server Models
•A Client/ServerExample
•A Little Web Server

Appendix A - The Perl Distribution
•Where Can You Get Perl?
•How Do You Build Perl?
•What Gets Created and Installed?
•Differences Between Platforms

Appendix B - The Perl Debugger
•Overview of the Perl Debugger
•Debugger Commands
•Non-Debugger Commands
•Listing Lines
•Single Stepping
•Setting and Clearing Breakpoints
•Modifying the Debugger
•The -w and -D Flags