It's an interesting question..
You're looking at programming and OO as if you'd like to be able to define really complex systems with it (such as Real Life), to be able to use the exact same programm for different aspects at the same time. This doesn't really represent real life though. I would view a Person as something which changes states over time. He may be an Employee and a Trainspotter and a Father, but each of these states are not active simultaneously when they are being actively 'carried out'.
When writing a programm/object in which you want to look at the objects in a lot of different perspectives, its better to deal with a generic object, and set states for however you are looking at it at the time. (Person->atWork(), Person->atHome(), Person->atTheTrainStation().. )

As to changing @ISA at runtime, its not occured to me to do that, and I can't think of a reason to do it at the moment (a real one). It did however, just occur to me, that you can also change the inherited classes as you like as well, theres nothing to stop you doing 'use base (Blah.pm);' and then add stuff to Blah.pm in your code (package Blah.pm; changestuff), or eval'ing code at runtime to do this.

It sounds like you're thinking of writing a self-evolving program which can change its own objects as it likes... Fun..

C.


In reply to Re: perspective and object-disorientation by castaway
in thread perspective and object-disorientation by Ctrl-z

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, 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, 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.