http://www.perlmonks.org?node_id=192964


in reply to Perl - Is it an OO Language

Encapsulation is done with closures:

{ my $secret = qr/^word$/; sub guess { $_ = shift || ''; m/$secret/; } }

Polymorphism is done with use overload $op => sub {};, or with overriding functions. There are lots of examples in the link. Both mechanisms respect inheritance.

Don't worry about 'true' OO. That is a chimera cooked up by religionists of various languages to put down other languages. Many take the ability to do something besides OO as disqualifying. OO is a methodology for design and structure. It's not the only one.

Object Oriented Perl by TheDamian is the primary reference book. Perl's perlboot, perltoot, perltooc (AKA perltootc in 5.6 - thanks, demerphq, for pointing that out), perlbot are in the distribution as tutorials, along with perlref, perlobj, perlmod as references.

After Compline,
Zaxo