Moose is a postmodern object system for Perl 5 that takes the tedium out of writing object-oriented Perl. It borrows all the best features from Perl 6, CLOS (LISP), Smalltalk, Java, BETA, OCaml, Ruby and more, while still keeping true to its Perl 5 roots.
Moose is 100% production ready and in heavy use in a number of systems and growing every day. Try it today!
- Download
- CPAN
- Moose
- Task::Moose - A collection of excellent Moose extensions
- Class::MOP - The underlying meta object protocol upon which Moose is built
- MooseX::* - The Moose extensions
- CPAN Modules which use Moose
- Git Repository
- You can grab a copy of the Moose repository by typing: git clone git://jules.scsys.co.uk/gitmo/Moose.git
- Gitweb view
- Support
- #moose on irc.perl.org
- Subscribe to moose@perl.org, or read the gmane archive
- Moose TextMate bundle
- Moose quick-ref card
- Articles
- 2009 Articles
- David McLaughlin experiments with extending Moose for MooseX::ChainedAccessors
- Shawn M Moore explains parameterized roles
- John Napiorkowski lists ten great things about Moose
- Jay Shirley dotes on MooseX::MultiMethods
- chromatic contrasts roles and duck-typing
- Ovid discusses role problems and possible solutions
- Sam Crawley summarizes his experience with roles
- Shawn M Moore discusses Perl::Critic for Moose and linting with the MOP
- Yanick Champoux meddles with extending Moose attributes
- chromatic contrasts roles and inheritance
- Ovid lists some best practices for role-based refactoring
- Chris Prather justifies each of Moose's dependencies
- Bruno Vecchi praises Moose for making his protein analysis code easier
- Shawn M Moore explains role composition and some bumps in the Moose design process
- Ovid praises roles and their happy acceptance at the BBC
- Florian Ragwitz walks through the marriage of MooseX::Types with Lexical::Types
- Ovid eschews inheritance in favor of roles
- chromatic on The Why of Perl Roles
- Chris Prather rationalizes Moose's "post modern" label
- John Napiorkowski on why he uses Moose
- Tomas Doran interview about the new Moose-based Catalyst
- Ovid praises role-based refactoring
- Dave Rolsky's post-mortem on his Moose documentation grant (sponsored by the Perl Foundation)
- Jonathan Rockway uses many modern Moose extensions exemplifying Modern Perl
- Léon Brocard summarizes London.pm's "What is Moose and why is it the future?" meeting
- 2008 Articles
- Jonathan Rockway discusses roles, inheritance, and Liskov's substitution principle
- chomatic suggests Moose and Mouse in his Beginners Introduction to Object-Oriented Programming with Perl article
- Marcel (hanekomu) Grünauer explores Moose in a series of articles
- Tim Bunce's excellent Perl Myths talk gives a shout out to Moose
- trombik writes an introduction to Moose in Japanese
- Barry Walsh does an excellent comparison of Moose and Ruby (specifically the Doodle module)
- 2007 Articles
- Jonathan Rockway discusses why Moose is a dependency worth having
- Max Kanat-Alexander (of Bugzilla fame) has some nice things to say about Moose
- Larry mentioned Moose in 2007's State of the Onion speech
- Matt Trout (of DBIx::Class and Catalyst fame) wrote a nice series of articles on designing Devel::REPL using Moose.
- Writing a perl read-eval-print loop (REPL) - part 1
- Writing a perl REPL part 2 - a history plugin
- Writing a perl REPL part 3 - lexical environments
- Devel::REPL part 4 - script options, rc files and profiles
- $foo Perl Magazine Winter 2007 has a Moose article
- Randal Schwartz wrote a series of articles on Moose for Linux Magazine
- 2006 Articles
- Presentations
- 2009 Conferences
- 2008 Conferences
- sunnavy's Moose talk at Beijing Perl Workshop
- Stevan Little's Moose talk at Pittsburgh Perl Workshop
- Stevan Little's Manager's Guide to Moose at Pittsburgh Perl Workshop
- Stevan Little's Moose talk at OSCON
- Yuval Kogman's Practical Moose at Nordic Perl Workshop
- Yuval Kogman's Practical Moose at YAPC::Asia (video) (slides)
- Stevan Litt;e's Moose talk at YAPC::NA
- Yuval Kogman's Practical Moose at Portuguese Perl Workshop
- 2007 Conferences
- Stevan Little's Horizontal Reuse with Moose::Role at Pittsburgh Perl Workshop
- Stevan Little's Moose talk at Pittsburgh Perl Workshop
- Yuval Kogman's Object Meta Programming at YAPC::EU
- Stevan Little's Moose talk at YAPC::EU
- 2006 Conferences
- Perl Mongers Groups
- Ovid's Refactoring with Roles at London.pm
- Hans Dieter Pearcey's Meta-Moose at PDX.pm
- Piers Cawley's MooseX::Declare talk at London.pm (video)
- Doug Treder's Moose talk at Seattle Perl Users Group
- hakobe's Moose presentation at Kansai.pm
- Ben Hengst's Moose talk at PDX.pm (podcast)
- Chris Prather's An Intro to Moose at Minneapolis Perl Mongers
- Robert Boone's Moose talk at Houston.pm
- Stevan Little's Moose talk at Perl Seminar, NY
- Misc.