Higher-Order Perl

(Advanced Programming Techniques for Perl)

(Why Perl is Better than Those Other Languages)

(Stolen Secrets of the Wizards of the Ivory Tower)

Length: 3 hours

Prerequisites: Some Perl experience, basic familiarity with references and OOP.

Description

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. Perl 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 do 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.


Outline

Sample Slides

16 34 48 70

Return to: Universe of Discourse main page | Perl Paraphernalia | Other Classes and Talks

mjd-perl-yak+@plover.com