Thanks to everyone for the helpful replies. Now that there are a good variety of responses I can start to get a feel for things.

My main goal was to get an idea of how more experienced monks would design a smallish address book-like application, specifically focussing on the choice of which module(s) to use, and why. My key questions were how much abstraction to use and where those layers needed to be.

To be honest, the responses surpised me a bit. I expected many different module recommendations, but I thought one or two would stand out. Based on the current replies, there does not seem to be a consensus for which modules people would select for a project like this. A few respondents advocated their favorite DB abstraction module, but an equal number said that those modules weren't powerful enough or that they simply wanted more control than those modules would provide.

I think I'll start by simply going with my initial gut instinct - to skip the DB abstraction layer and to create a set of functions that use plain DBI. I'll start exploring some of the modules that were recommended as I get time, but it sounds like abstraction layers aren't as universally used as I initially thought.

I also appreciate the comments regarding front ends. I took a brief look at the docs for some of the systems mentioned above, and I think I'm going to try my hand at CGI::Application (which has interested me for quite a while). A full web framework just seems too heavy for this app, and I'd like to get something up and running quickly (without a steep learning curve).

That said, I'd still very much like to hear additional opinions. :-)


In reply to Re: Database module recommendations by bobf
in thread Database module recommendations by bobf

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.