The Lego approach

Musings on the comprehensiveness of the Comprehensive Archive

I have recently come to appreciate just how comprehensive CPAN actually is. I have been thinking about writing a sort of knowledge base application for my email (current and archives), inspired by Zoe.

I currently manage my email using a fairly classic combination of fetchmail, procmail and mutt, with junkfilter as a spam antidote. What's sorely missing in this picture is a facility to easily retrieve old mail from archives, based on a number of criteria. Sure, grepping through mbox files goes some way towards this issue, but having seen Zoe, I wanted something more.

So, a new solution was sought after. It would still rely on procmail/mutt as a MUA but would need to add good spam filtering (junkfilter was scoring almost 50% false negatives) and a conveniently searchable archive backend to the equation.

Being of the camel persuasion, I of course turned to Perl for this solution. Initially, I thought that I would have to write a major part of it myself, which is not an attractive proposition with other hobby and real life activities stealing away most of my free time. That was not counting CPAN however. Literally everything I want my app to do has a module for it.

Let's see - I need to:

It seems that I can use a Lego approach to building my app. I'll just take the blocks mentioned and stack them in just the right way and presto - a new mail application! My app will basically only be the glue to hold stuff together, proving yet again that Perl is the ultimate glue language.

So, I'd like to conclude with a heartfelt thank you to all module authors out there for making the C in CPAN really mean something. You drag noble concepts such as code reuse and modular development from the nebulous realms of fantasy into the day to day reality of actual programmming use. And it's almost as fun as real Lego blocks :).

CU
Robartes-


In reply to The Lego approach by robartes

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.