The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

Changes for version 0.90

  • Japan Perl Association has sponsored Goro Fuji to improve startup performance of Class::MOP and Moose. These enhancements may break backwards compatibility if you're doing (or using) complex metaprogramming, so, as always, test your code! http://blog.perlassociation.org/2009/07/jpa-sponsors-moose-class-mop-work.html
  • Class::MOP::Class
  • XS
    • Anonymous classes were not completely destroyed when they went out of scope, leading to a memory leak. RT #47480. (Goro Fuji).
  • Class::MOP::Class
    • The get_method, has_method, and add_method methods no longer use get_method_map. Method objects are instantiated lazily. This significantly improves Class::MOP's load time. (Goro Fuji)
  • All classes
    • Inline fewer metaclass-level constructors since the ones we have are perfectly fine. This reduces the number of string evals. (Goro Fuji)
  • Class::MOP::Method::Wrapped
    • If a method modifier set $_, this caused the modifier to blow up, because of some weird internals. (Jeremy Stashewsky)

Modules

A Meta Object Protocol for Perl 5
Attribute Meta Object
Class Meta Object
Implements immutability for metaclass objects
Instance Meta Object
Method Meta Object
Method Meta Object for accessors
Method Meta Object for constructors
Abstract base class for generated methods
Method base class for methods which have been inlined
Method Meta Object for methods with before/after/around modifiers
Module Meta Object
Base class for metaclasses
Package Meta Object
a pragma for installing and using Class::MOP metaclasses