Course 581:
Advanced Perl Programming

(3 days)


Course Description

This is an advanced Perl programming course aimed at the Perl programmer who needs to build programming tools. The course starts with an advanced review of Perl and then shows TDD techniques, assertions, and the Perl Debugger. Perl has the most extensive regular expression engine in all programming languages. The second chapter reviews and shows all the regular expression techniques to include string replacement. With the basic development tools covered, the course continues with a complete exploration of how to build and distribute Perl packages. How to use packages is explored while learning about networking and database access. Good programming handles exceptions and interrupts, and the course covers them both. The course ends by covering a series of small topics any programmer should know how to do.

Learning Objectives

  • Build a package
  • Build an OO package
  • Perl Debugger, assertions, and TDD techniques
  • Use non-greedy regular expressions and assertions
  • Use dynamic text replacement
  • Do network programming
  • Interact with RDMS
  • Use coderefs and closures
  • Use exception handling to prevent run time errors

Who Should Attend

Perl programmers who want to learn how to make programming tools, including any programmer who wants to program faster by creating Perl programming tools. This course is valuable for:

  • Application programmers
  • System administrators
  • Network administrators
  • Website authors
  • Webmasters
  • UNIX/Linux power users

Course Outline

Perl Review

  • Arrays, Hashes, and References
  • Perl Debugger
  • Using Packages and OO Techniques
  • TDD Techniques

Advance Regular Expressions

  • Basic Regular Expressions
  • Assertions Look-Ahead and Look-Behind
  • Non-Greedy Quantifiers
  • Single/Many Line Strings
  • Dynamic Replacement Text

Building Packages

  • Creating Packages and Files
  • Defining Functions
  • Exporting Functions
  • Variables in Modules
  • When You Should Create a Package

Building OO Packages

  • Building an OO Package
  • Using Inheritance
  • Using AUTOLOAD
  • Using Tie
  • Operator Overload

Network Programming

  • Modules for Network Clients
  • Modules for Network Servers
  • Monitoring Network Operations
  • Techniques for Moving Data across the Network

Databases with Perl

  • Using DBI
  • Connecting/Disconnecting, Login, and Logout
  • Retrieving Records
  • Update and Insert Queries
  • Using ODBC


  • Trapping Run-Time Errors
  • Passing the Exception

Subroutine References

  • Coderefs
  • Anonymous Subroutines
  • Closures
  • Closures, BEGIN and END Blocks

Subroutine References

  • Coderefs
  • Anonymous Subroutines
  • Closures
  • Closures, BEGIN and END Blocks

Odds and Ends

  • Sending and Receiving Email
  • Accessing DNS
  • Suid Perl Programs
  • Scheduling Events
  • Connecting to Other Programs
  • Monitoring File Operations
  • Understanding CPAN
  • Perl and Security
  • File Locking

Please Contact Your ROI Representative to Discuss Course Tailoring!