Moving all of the debugging code into its own module makes plenty of sense. The code will only be compiled if needed, it would be easier to extend and there would be less clutter in the main body of code.

As for what to name it, that really depends upon what you want it to do. Mail::Sender::Logging is a good name, but if you're going to extend the functionality, it might not be appropriate. If all you're going to do is log, though, you might want to check out Tie::FileHandle::Buffer. (It doesn't have proper test coverage though). If it works as advertised, it could greatly simplify your problem.

As for the other methods to support: perhaps you could just make the module subclassable and allow other people to add their own methods as needed? That will take more work and more documentation, but it will make it more flexible.

Cheers,
Ovid

New address of my CGI Course.
Silence is Evil (feel free to copy and distribute widely - note copyright text)


In reply to Re: Should I extract Mail::Sender's debuging into a separate module? by Ovid
in thread Should I extract Mail::Sender's debuging into a separate module? by Jenda

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.