I guess a factor in determining intended complexity may be the intended audience.
I write most of my perl code these days for a client that wants me get the *hard* things done, and has the expertise to make sense of the code - at least, once I explain some things :) Most of my CPAN code is probably more straight-forward, just because the problems solved there are easier.
On the other hand, if I had to do the kind of stuff I'm getting paid for right now, and also had to cater to not very experienced perl programmers, I would estimate the most efficient use of our time would be for someone (or even me) to give them a really intensive course in advanced perl programming for a month or two.
IOW: it's not just the target audience, the problem domain is also important. Some things just can't be solved correctly or "maintainably" with only minimal skills. In those cases, it's better to try to raise the skill level (in whatever way suits the business).