Some good comments. I'd like to stress that OO is quite useful in Perl (it isn't "great OO" if you compare it to OO in some other languages, but it is very useful and overcomes some sticky problems, especially if you are writing a module).

But I'd really like to stress that inheritance is so very often way overemphasized in OO and it should only be used for certain special and fairly rare cases. In Perl's OO, inheritance is especially troublesome and I strongly suggest that you enthusiastically avoid it.

But the dark thoughts kept coming: put that in the destructor method, make that a class variable, don't use inheritance or overloading where an 'if' gets it done in half the time.

Destructor methods are a very powerful tool in Perl OO. If you ever use inheritance to replace an if, I will hunt you down and kill you. But one of the particular advantages to OO when writing Perl is that it allows your modules to be used in multiple parts of the same process without having one part's customizations of the module's behavior stomping on the other part's. So I only consider one of those thoughts as "dark".

        - tye (but my friends call me "Tye")

In reply to (tye)Re: Hacking with objects by tye
in thread Hacking with objects by frankus

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • 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:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.