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

Audience
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.

Objectives

  • 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.

Prerequisite

  • 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

Syllabus

  • 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