Skip to page content Skip to section menu Skip to site-wide navigation About Us | Consultancy | Training | Software | Publications | Open Source | Support | Open Standards | FAQ | Jobs
Site Style Info

Advanced Perl programming — a 3–day course

Synopsis

A course in Advanced Perl programming for those with a basic knowledge of the language and a desire to extend their skills.

Please Note: This Perl training course outline provides a selection of advanced skills in multi-purpose Perl programming rather than merely specialist applications of the language. In practice, most purchasers of our advanced Perl courses tend to require a combination of generic and specialist skills. For that reason, we typically ask them to talk to our Perl consultants about building a course combining some of the course modules outlined here with other specialist modules from our complete listing of Perl training course modules.

On the other hand, if you need an off-the-shelf specialist Perl course, please consider our Perl for system administration and our Perl for web development courses.

Suitable for

Prerequisites

Delivery

This is a hands-on practical workshop based around the coding of real world solutions to real world problems.

This advanced Perl training course is run primarily as an in-house/on-site course for company groups.

From time to time, we take bookings from individuals on publicly scheduled versions of the course. Because of the relatively small numbers of people who are ready for advanced perl programming, we tend to accumulate a list of interested individuals before announcing a particular date.

Please contact us at training@gbdirect.co.uk to arrange delivery of this course for your company or to register an interest in an individual place on a public presentation of this course. N.B. Please state clearly, which one of these two options applies to you.

Publicly scheduled dates, locations, and prices

A schedule of dates for this subject is not currently available. Please call 0800 651 0338 or use our contact form to enquire about places and availability.


Contents

Finding Out More For Yourself 

  • How to read Perl's documentation
  • Where to find more information
  • Knowing what's out there to look for
  • FAQs
  • The Perl Cookbook

Command Line Perl 

  • Writing Perl programs on the command line
  • Using Perl as a filter
  • Perl imitating other programs: Awk, grep, sed
  • Perl editing files
  • Command line flags
  • Many real world examples

Advanced File Processing with Perl 

  • Types of open
  • Filehandles
  • Reading line by line
  • Reading paragraph by paragraph
  • Reading entire files
  • Special variables
  • The flip-flop operator (..)
  • File test functions
  • Pipes

Advanced Perl Regular Expressions 

  • Commenting regexps — /x
  • Back-references
  • Alternation
  • Quantifiers: ?, {}
  • Non-greedy quantifiers
  • Finding multiple matches
  • Zero-width assertions: anchors, lookahead, lookbehind
  • Dynamically making replacement text

Object-Oriented Techniques in Perl

  • Using object-orientation: classes and objects
  • Constructors
  • Object methods
  • Destructors
  • Dual-purpose class and object methods
  • Inheritance
  • An example class: CGI::Page

Advanced Perl Miscellany 

  • Exception-handling: trapping run-time errors
  • Executing code fragments in strings
  • Secret subroutines
  • Static variables
  • Subroutine prototypes
  • Benchmarking code

Creating Perl Modules 

  • Modules
  • Packages & files
  • Creating a module
  • Defining functions in modules
  • Exporting functions from modules
  • Variables in modules
  • When you should create a module

Using the Perl Debugger 

  • Avoiding bugs
  • Perl's built-in debugger
  • Invoking the debugger
  • What you can do with the debugger
  • Understanding the debugger's command line interface
  • Knowing the debugger's basic command set
  • Exploring some extended functions
  • Graphical debuggers
  • Alternative debugging techniques

Perl Style 

  • The Philosophy of Perl
  • Why good style is important
  • Good style
  • Bad style

Reading Perl 

  • Reading well-written Perl programs
  • Reading badly-written Perl programs

Advanced Object-Oriented Techniques in Perl

  • Multiple inheritance
  • Method resolution algorithm
  • Customizing method dispatch using AUTOLOAD
  • Using tie to make instances simulate scalars, aggregates, or file handles
  • Operator overloading

Managing Dates and Times in Perl

  • Time-keeping concepts
  • Built-in time functions
  • The DateTime modules