The largest project in Perl I've done is the Public Mooseboard
, a discussion board for my friends and myself.
CGI, DBI, and HTML::Template (plus a few of my own modules) made the job a lot easier.
My biggest mistake was not modularizing the code from the beginning. I copy and pasted instead of creating my own modules for general functions. This led to problems when I updated code in one area but not another and general bloat. It also made it harder to switch backends. I've since shoved most of the general stuff in modules, but there is still some things that I haven't gotten around to yet.