Who should attend:
Intermediate to advanced Perl programmers
with experience working on large projects.
What you will learn:
It's well known that Perl resembles languages
used in the Unix sysadmin community, such as C, Bourne shell, awk, and
sed. People programmers tend to come from that community, or to have
been trained by people who did.
Perhaps you've heard the joke that a dedicated Fortran programmer can
write Fortran programs in any language. But Perl programmers have been
writing C programs in Perl for years without realizing it. This class
will show you how to effectively use some of Perl's most powerful
features to organize your programs more powerfully and effectively.
I've raided the techniques of the Lisp and functional programming
communities and come back with all the loot I can carry, techniques
for increasing modularity and interoperability on large projects.
We'll take recursion to the next level and see how to build powerful
recursive functions for managing hierarchical data. We'll see how
callbacks, usually relegated to GUI programming, can be used to
increase modularity in your library functions, so that they can be
used in ways you didn't expect, by programmers years later, without
anyone having to change or even look at your code. We'll look in
detail at how to provide 'function factories' that manufacture, on
demand, the library functions that the user needs. We'll see how
objects based on anonymous functions can be used to get around some of
the limitations of Perl's built in OOP system. We'll see how to make
your own filehandle-like objects that generate data on demand.