Perl Training Logo: Praying Mantis
Advanced Perl: References, Modules and Objects

Advanced Perl course for anyone who has basic understanding in Perl and would like to be able to us more advanced features, create clean, easily reuse code.


  • To be able to use advanced features of Perl.
  • To be able to create Modules for better coder reuse
  • To be able to write Object Oriented Perl code, create classes

Course format

  • Total length of the course is 40 academic hours. (Usually 5 days.)
  • About 50% of the time is hands on lab work.


  • In order to take this course you must have working knowledge of Perl.
  • An understanding of the 3 basic data types and subroutine definitions.
  • Scalar and List context.
  • Have attended the first part of this course or has at least one year practice using Perl


  • Using existing modules
  • Using standard modules
  • Installing modules from CPAN
  • Using CPAN modules
  • Perl references
  • Introduction to References
  • Anonymous Arrays and Hashes
  • Multi Dimensional Data Structures
  • Manipulating Complex Data Structures
  • References to functions
  • Anonymous functions
  • Static variables and Closures
  • Memoization
  • Data serialization
  • Practical use of function references
  • Perl libraries and modules
  • Packages, Namespaces
  • Libraries and Modules
  • Creating libraries and modules
  • Exporting selected functions
  • Writing Unit Tests for Perl Modules
  • Packaging modules for distribution
  • Error handling
  • Catching exceptions using block eval
  • Exception handling with Try::Tiny
  • Warnings and errors from the users POV with Carp
  • Throwing exceptions with die and with Exception::Class
  • Object Oriented Perl (OOP) using Moose
  • Constructors and destructors
  • Class methods and Instance methods
  • Members
  • Inheritance, Polymorhism, Encapsulation
  • Singleton
  • Operator overloading
  • Object Oriented Perl (OOP) using plain Perl
  • Constructors and blessing
  • Accessors
  • Base and parent class
  • Method call
  • Destructor (DESTROY)
  • Automatic Class creation
  • Extra
  • Using the Perl debugger
  • Using Dancer for writing Web applications
  • Using LWP to write web scraping programs

Request more information about Advanced Perl: References, Modules and Objects