I'd say, Perl's defining OO treat is that it's very not-Perl. Perl gives you the very bare minimum to do OO: it has a way to associate references with package names, it has run-time method lookup, it'll stuff the invocant into @_, and a couple of bandaids that are more a PITA than anything else: AUTOLOAD and DESTROY.
And for the rest of it, Perl's approach to objects is like C's approach to regular expressions: C gives you pointers to lists of numbers, and that's enough to build your own regexp engine. Similar, Perl gives you the bare minimum to build an object system but leaves all the heavy lifting of building a useful system to the programmer. So we get to make the same mistakes again, and again, and again. So we have had hashref based objects, arrayref based objects, pseudo-hashes, base, fields, locked hashes, fly-weight objects, inside out objects, spiffy, fieldhashes, moose, mouse, and other things I cannot remember. And the next couple of years, people will find other implementations because all the previous ones suck.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.