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
- Perl programmers who want or need to use the Perl language well
in a variety of contexts.
- Developers who want to optimise their Perl; taking advantage of the
language's native productivity tools and techniques, rather than holding on to
inefficient methods imported from other languages.
Prerequisites
- Considerable Perl programming experience
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.
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
|