Introduction to Moose

This is an interactive hands-on course all about Moose, an OO system for Perl 5 that provides a simple declarative layer of “sugar” on top of a powerful, extensible meta-model.

With Moose, simple classes can be created without writing any subroutines, and complex classes can be simplified. Moose’s features include a powerful attribute declaration system, type constraints and coercions, method modifiers (“before”, “after”, and “around”), a role system (like mixins on steroids), and more. Moose also has a vibrant ecosystem of extensions as seen in the variety of MooseX:: modules on CPAN.

This course covers Moose’s core features, goes in depth on many of them, and explores some of the more powerful MooseX:: modules available on CPAN.

This is a hands-on course. Each lecture section is followed by a hands-on exercise section where you put what you’ve just learned into practice. The instructor will work with each student individually as needed to help you get the most from these exercises.

This class is aimed at Perl programmers who understand object-oriented programming and want to learn how to do it with Moose. It is not suitable for Perl beginners or for people without any OO experience. OO experience in other languages besides Perl is sufficient, as long as you also have a good grasp of Perl syntax, particularly method call syntax.

Students are expected to bring a laptop with a recent version of Perl and the editor of their choice. You will also be expected to clone the class’s git repository in order to obtain a copy of the class slides and exercises.

This class has consistently received excellent evaluations from students who’ve taken it:

“I thought Dave’s class was outstanding. Well prepared and highly valuable content. This course was one of the best organized I’ve had the opportunity to take.” – Chris Fedde

“It damn sure was a good use! It would’ve been a huge mistake not taking your class; Moose is a magnificent beast and I couldn’t have picked a better primer.” – Brian Fraser

“The class was great. There was a nice balance of material presented to hands-on experimentation, and alternating between lecture and exercises helped nail down concepts.” – Philip Monsen

“I had never used Moose previously, but the class gave me enough to get started on using Moose. The slide deck was awesome, and the presenter’s mix of exercises and talk was perfect. Since the conference, I’ve started baby steps into using Moose in some of my projects, with good success thus far.” – Joelle Maslak

Conference Sponsors

Get the App

You've secured your ticket and travel for The Perl Conference, right? The next step is to get the TPC 2018 app by Infinity Interactive! Stay current with the #TPCiSLC scheduled talks, events, twitter feed, and more.