This is a question, rather than an answer or insight, so SoPW makes sense.

I would say; write the guts of the module however it makes the most sense based on the nature of the problem at hand and the skill of the coder.

One big catch is that if your user makes multiple instances of your object, then the underlying functions need to take care to ensure they are able to handle the different object contexts being thrown around. In general, I would expect it to be easier to start with objects on the bottom, and then add a functional interface which uses a sort of "default" package-scoped object internally.


In reply to Re: Modules exporting functions and objects at the same time. by SuicideJunkie
in thread Modules exporting functions and objects at the same time. by vitoco

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.