The wrong way to use Perl is to see it as a "free language" and then run off and write a bunch of unreleased code. Most of this code however, is doing nothing but what CPAN modules do : application configuration AppConfig could've done it for them, templating (take your pick), database connections DBI + the whole gang of application layers on it, regression suites (yes, there are places that don't use Perl's builtin Test and instead use homegrown things that are less capable.... aaaaaahhhh!.
The reason this is bad use of Perl is that most people are running into the same problem and you are just reinventing the wheel. The second reason it is bad is that incoming contractors (moi) have to get up to speed with Yet Another Version of something Widely Used and Loved on CPAN. The final reason is that your test suite only get's hammered under certain conditions. And also check this out: A specific application should be an instantiation of a collection of generically useful modules. And if it isn't then you can be sure that it will not scale well And finally, just look at all the free documentation you get!
This post is what I want to say to my boss' boss, but I would be talking to a brick wall to do so. I meant to write it 2 weeks ago, but I said "ah, forget it" but my effectiveness at my job continues to dwindle and largely for this reason.
Oh and the title of this post? It just means that Perl is like a tree. It has roots. stem, branches, and leaves. To only take the Perl language and leave the rest is like having a stump in the ground as opposed to a 500 foot redwood sequoia.