Date: Sunday, 7 June 2015 09:00
Duration: 390 minutes

Join us for an interactive hands-on course, taught by Dave Rolsky, 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.

There is an additional registration fee of $175 to take this course. Please be sure to select the "Introduction to Moose" option when registering.

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 will cover Moose's core features, go in depth on many of them, and explore 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.

Students are expected to bring a laptop. You will also be provided with a tarball a week or so before the class is scheduled. This will contain the exercises for the class.

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

Course Length: 1 full day

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

Supplies Provided: I will provide a tarball via email containing the class exercises.

Supplies Needed: Students are expected to bring a laptop with a recent version of Perl and the editor of their choice.


0. Moose Concepts
1. Moose Classes
2. Roles
3. Basic Attributes
4. Method Modifiers
5. Types
6. Advanced Attributes
7. Bonus: A Brief Tour of MooseX

About the Instructor:

Dave Rolsky has been a Perl developer since 1999, and has created or contributed to dozens of CPAN modules. He is a member of the Moose core development team, and in early 2009 completed a TPF grant to substantially rewrite and expand the Moose documentation. He is also the co-author of Embedding Perl in HTML with Mason and RT Essentials.

He spends a lot of his free time on animal advocacy with Compassionate Action for Animals (, working on a variety of programs including fundraising and planning Twin Cities Veg Fest (