I have a class that contains a number of 'build_*' methods. It is written to be subclassed, so that it can be easily extended. Most extension would be to create new 'build_' methods.

One routine I have written calls the various 'build_' methods based on XML elements. I would like to test and make sure that the method is available before calling it.

I've tried Module::Info, but this actually parses the given module file looking for methods; if the modules has been subclassed, it won't find the new methods. My other inclination is to simply wrap the method call in an eval statement.

So my question is: Is there an easy way of finding out what methods are available to an object? Or is perl way of doing it to test for exceptions?


In reply to Determining what methods are available to a class by weierophinney

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.