This one-day seminar, written and presented by Dr. Damian
Conway, presents advanced techniques for rapidly developing
highly maintainable Perl modules. Many of the techniques were
developed by Dr. Conway himself to facilitate his deployment
of dozens of highly regarded and widely used modules (see www.CPAN.org
for examples).
The advanced techniques are illustrated by exploring the implemention of
ten of those modules.
Attendees will learn:
How Perl's attribute mechanism works and
how a module can make it useable (Attribute::Handler,
Attribute::Types).
How to reconfigure Perl's method dispatch mechanism
in two different ways (NEXT, Class::Delegation).
How to write modules based on source code filters
(Filter::Simple, Switch, Perl6::Variables).
How a single hash can be the entire,
lazily evaluated interface to a module (Regexp::Common).
How to replace built-in functions and syntax
(Inline::Files)
How to extend Perl's subroutine call mechanism
using lexical subroutine destructors (Hook::LexWrap)
Intermediate
and
Advanced
Perl programmers who have some familiarity with
subroutines and closures,
Perl modules and packages,
and the basics of Object Oriented Perl.
This state can be approached by
completing various
Consultix Perl courses
such as
"Creating and Using Perl Modules",
"Intermediate Perl Programming",
and
"OO Perl Fundamentals",
by having equivalent theoretical and practical experience,
or by studying the following resources:
Dr. Damian Conway
holds a Ph.D. in Computer Science and is a Senior Research Fellow with the
School of Computer Science and Software
Engineering at Monash University, Melbourne, Australia.
He is the author of numerous well-known Perl modules including:
Class::Contract,
Text::Autoformat,
Parse::RecDescent,
Text::Balanced,
Lingua::EN::Inflect,
Class::Multimethods,
Switch,
Quantum::Superpositions,
NEXT,
Filter::Simple,
Attribute::Handlers,
Inline::Files,
and Coy (all available from your local
CPAN mirror).
Damian was the winner of the 1998, 1999, and 2000 Larry Wall
Award competitions for the most practical Perl utility program.
He is a member of the technical
committee for
The Perl Conference,
a columnist for
The Perl Journal,
author of the book
Object Oriented Perl,
a member of the Perl 6 design team, and a popular public speaker.
In 2001, Damian received the first YAS Perl Development Grant and
spent the year working on projects for the betterment of Perl.
He is continuing this work in 2002 under a similar grant from
The Perl Foundation.