This class explores a range of advanced programming techniques, that are especially suited to Perl development.
Topics covered include:
- Subroutines and Closures
- Declarative parameter lists
- Named and anonymous closures
- Lexical subroutines and modules
- Generic programming via inversion of control
- Building code with higher-order functions
- Mapping, reduction, and other functional programming techniques
- Variables and Data Structures
- Algorithmic optimization via aliases
- Code optimization via autovivification
- Processing recursive data-structures via closure traversal
- Scoping and Context
- Scope vs accessibility vs context vs lifespan
- Context manipulation
- Lexical modules (the %^H variable)
- Objects and Classes
- Declarative class specifications
- Encapsulation techniques
- Objects as return values
- Overloading object behaviours
- Delegation techniques
- Error handling
- Standard Perl error signalling approaches
- Client-controlled error signalling via the autodie module
- Contingent error signalling techniques via return objects
- Inversion-of-control for error signalling
- Safer exception handling via TryCatch or Try::Tiny (and friends)
1-day or 2-day seminar3-day workshop
Experienced Perl developers looking to take the next step up to more powerful, more efficient, and more maintainable implementation techniques