{"id":29,"date":"2003-08-07T13:17:57","date_gmt":"2003-08-07T17:17:57","guid":{"rendered":"http:\/\/blogs.law.harvard.edu\/geekroom\/2003\/08\/07\/classdbi\/"},"modified":"2003-08-07T13:17:57","modified_gmt":"2003-08-07T17:17:57","slug":"classdbi","status":"publish","type":"post","link":"https:\/\/archive.blogs.harvard.edu\/geekroom\/2003\/08\/07\/classdbi\/","title":{"rendered":"Class::DBI"},"content":{"rendered":"<p><a name='a39'><\/a><\/p>\n<p>While writing an email encouraging someone to consider using a database abstraction layer in his perl-based web application, I came across the <a href=\"http:\/\/cpan.perl.org\/authors\/id\/T\/TM\/TMTM\/Class-DBI-0.93.readme\">Class::DBI<\/a> module, which seems to provide a nice, simple but functional db abstraction layer for perl.  I&#8217;ve looked for such a thing in the past and failed to find it, though Class::DBI seems to have been around for a while.  I&#8217;m a big fan of such systems and always strongly encourage folks writing  complexe database backed applications to consider using them &#8212; they&#8217;ve always saved a huge amount of time for the projects on which I&#8217;ve used them.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>While writing an email encouraging someone to consider using a database abstraction layer in his perl-based web application, I came across the Class::DBI module, which seems to provide a nice, simple but functional db abstraction layer for perl. I&#8217;ve looked for such a thing in the past and failed to find it, though Class::DBI seems [&hellip;]<\/p>\n","protected":false},"author":71,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-29","post","type-post","status-publish","format-standard","hentry","category-code"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/archive.blogs.harvard.edu\/geekroom\/wp-json\/wp\/v2\/posts\/29","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/archive.blogs.harvard.edu\/geekroom\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/archive.blogs.harvard.edu\/geekroom\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/geekroom\/wp-json\/wp\/v2\/users\/71"}],"replies":[{"embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/geekroom\/wp-json\/wp\/v2\/comments?post=29"}],"version-history":[{"count":0,"href":"https:\/\/archive.blogs.harvard.edu\/geekroom\/wp-json\/wp\/v2\/posts\/29\/revisions"}],"wp:attachment":[{"href":"https:\/\/archive.blogs.harvard.edu\/geekroom\/wp-json\/wp\/v2\/media?parent=29"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/geekroom\/wp-json\/wp\/v2\/categories?post=29"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/geekroom\/wp-json\/wp\/v2\/tags?post=29"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}