Moose is definitely what I go for when I have to use OO with Perl, this more than a decade old and stable for production use cases.
Its based on Class::MOP, which is in turn based on Meta Object Protocol, the same concepts on which CLOS(Common Lisp Object System) is based on. Its always nice to have CLOS goodness in Perl. For eg- https://metacpan.org/dist/Moose/view/lib/Moose/Manual/Method... these methods like before, after, around do fix need for design patterns to a large extent.
But of course the more you explore, the more you discover the possibilities with this.
To a large extent I think Perl brings OO and functional paradigm in a far better package than Python does.
Perhaps HOP needs a new chapter for OO given how few people are aware of this.
Moose is definitely what I go for when I have to use OO with Perl, this more than a decade old and stable for production use cases.
Its based on Class::MOP, which is in turn based on Meta Object Protocol, the same concepts on which CLOS(Common Lisp Object System) is based on. Its always nice to have CLOS goodness in Perl. For eg- https://metacpan.org/dist/Moose/view/lib/Moose/Manual/Method... these methods like before, after, around do fix need for design patterns to a large extent.
But of course the more you explore, the more you discover the possibilities with this.
To a large extent I think Perl brings OO and functional paradigm in a far better package than Python does.
Perhaps HOP needs a new chapter for OO given how few people are aware of this.