Advanced Perl Maven video course
This Advanced Perl training course will allow you to create modules, classes. To write Object Oriented code in the modern way, using Moose, and by using only core Perl, manually blessing references.
It is based on many years of experience teaching Perl, blended with the modern features of Perl and CPAN.
Taking this course will help you maintain existing code and it will teach you how to use modern Perl tools to write new, nice and maintainable Perl code.
Table of Content
Some of the episodes are already available, some are going to be published later on. Some require registrations to the Perl Maven Pro others can be freely accessed by anyone. Some include screencasts, others contain just text.
Libraries and Modules, Packages and Namespaces
- Introduction to the Advanced Perl Maven course
- Perl 4 libraries
- The problem with Perl 4-style libraries
- Namespaces or packages
- Modules
- How does require find the module to be loaded?
- What is the difference between require and use? What does import do?
- Exporting and importing functions easily
- Restrict the import by listing the functions to be imported
- Import on demand
- Behind the scenes
- Tools to package Perl scripts, modules, and application
- Distribution directory layout
- Makefile.PL of ExtUtils::MakeMaker
- Makefile.PL of Module::Install
- Build.PL of Module::Build
- Changes and README
- MANIFEST and MANIFEST.SKIP
- Packaging a script and a module
- Packaging with Makefile.PL
- Packaging with Build.PL
- test-file
- @INC and the namespace hierarchy
- How to create a Perl Module for code reuse?
- Exporting functions automatically
- Packaging modules for distribution
- Writing Unit Tests for Perl Modules
- Exception handling with eval block
- Exception handling with Try::Tiny
- Warnings and errors from the users POV with Carp
- Throwing exceptions with die and with Exception::Class
Using existing modules
- Using standard modules
- Installing modules from CPAN
- Using CPAN modules
References
- Introduction to References
- Passing two arrays to a function
- Array references
- Handling multi-dimensional, complex data structures
- Manipulating Complex Data Structures
- Reference counting
- Debugging data structures
- Anonymous arrays and hashes
- Subroutine references
- Dispatch tables
- Handling memory leak
- Deep copy of data structures
- Static and state variables
- Closures
- Creating a caching system
- Signal handling
- Handling warnings in the code
- Filtering with grep in Perl
- Transforming a perl array using the map function
- Array and hash slices
- Creating context sensitive functions using wantarray.
- Improving speed by using the Schwartzian transformation
- Anonymous functions
- Memoization
- Data serialization
- Practical use of function references
Packaging modules for distribution
- The directory hierarchy of a CPAN module
- Writing Unit Tests for Perl Modules
- ExtUtils::MakeMaker
- Module::Build
- Module::Install
- Dist::Zilla
Object Oriented Programming in Perl using raw classes
See the Classic Object Oriented Perl page.
Object Oriented using Moo
See the Moo page
Object Oriented using Moose
See the Moose page
Some other advanced topics
- Throwing exceptions in Perl
- Catching exceptions in Perl
- Always use strict and warnings
- How to handle warnings in an application?
- splain and use diagnostics
- Fatal warnings
- Array and hash slices
- splice
- AUTOLOAD
- BEGIN
- END
- How to sort faster in Perl - Schwartzian transformation
- use autodie
- Perl::Critic
- Avoid unwanted bitwise operators using Perl::Critic
- Perl::Tidy
- Saved variable: local
- Who is calling? caller
- Logging with Log::Dispatch
- Time and date with DateTime
- Signals and the kill function
- default scalar variable of Perl
What do people say?
Just watched the Advanced Perl Maven - Online video course by @szabgab. Fantastic value, great course. ++.
@szabgab oh cool thanks! im recommending it to my boss too so he can better appreciate the work i do :) @szabgab hah! im also getting it for myself too.. need to fill in the blanks in my perl knowledge. thanks for making your tutorials available @szabgab just got all 3 courses! btw i found you through youtube when i was looking for help using perl Dancer and found your blog tutorial.