Course Description

This 3-day Perl Object-Oriented Programming training course addresses the Object-Oriented features of the Perl programming language and provides students with the knowledge to create Object-Oriented Perl scripts.

Pre-requisites

Programming experience in a structured language, such as C, C++, Java, COBOL, or Visual Basic, is required as well as an in-depth knowledge of the Perl language via Perl Programming Intermediate or equivalent experience.

Who is this Course for ?

Perl programmers or developers wanting to fully understand Perl’s OO aspects.

Further Training

After some further on-the-job experience in a Perl development environment, we recommend students consider attendance at our Perl Programming Advanced training course to gain higher-level skills in the usage of the Perl programming language.

Course content

Perl Essentials Review
Topics Not Reviewed (But Essential to Understand OOP in Perl)
References
Advanced Data Types
Typeglobs
Packages
Modules
Additional Resources
OO Primer
Introduction to OOP in Perl
Objects
Methods
Classes
Additional OO Terminology
Additional Resources
OO In Perl Essentials
The Basis of OOP in Perl
Class Creation
Method Creation
Object Creation
Calling Methods
Constructors
Accessors
Mutators
Affordances
Class Data
Class Modules
Using AUTOLOAD
Destructors
Additional Resources
Using Bless on Arrays and Scalars
Why Use Other Data Types?
Blessing Arrays
Pseudo-Hashes
Blessing Scalars
Additional Resources
Using Bless on REs, Subroutines and Typeglobs
Blessing Things Other Than Variables
Blessing Regular Expressions
Blessing Subroutines
Blessing Typeglobs
Additional Resources
Inheritance
Overview of Inheritance in Perl
Determining a Method’s Location
The @ISA Array Works
Inheritance in Other Languages
Perl “Built-In” Methods
Handling DESTROY Methods with Inheritance
The SUPER Class
Abstract Methods
Polymorphism
Additional Resources
Automating Class Creation
Automating Class Creation Essentials
Using Class::Struct to Crate Classes
Using Arrays Instead of Hashes
Attribute Types
Other Tools to Create Classes
Additional Resources
Ties
What are Ties?
Making a Tied Scalar
Making a Tied Array
Making a Tied Hash
Making a Tied Filehandle
Ties and Inheritance
Additional Resources
Installing CPAN Modules
Introduction to the Concept of Overloading
Using overload.pm
How Your Overload Subroutines Will Be Called
Magic Autogeneration
Fallback
Additional Resources
Encapsulation
Overview of Encapsulation
Private Identifiers
Using Closures to Enforce Encapsulation
Other Methods of Encapsulation
Additional Resources