in reply to Re-use: moderation please.

This isn't necessarily what BrowserUK was talking about, but this thread reminds me of an old design argument of mine: Styrofoam and porcelain.

Porcelain solutions are beautiful and elegant. They take a long time to make and are decorative. They are heavy. When you pour hot coffee in them and pick them up, you burn your hand. When you drop them, they break.

Styrofoam solutions are simple. They can be cranked out by the barrelful. They are lightweight and cheap. They insulate better than porcelain, and don't break when you drop them. If you crumble one up and throw it away, and then need another one, no worries. Just grab another.

So the question is: Is code re-use more like porcelain, or more like styrofoam? A CPAN module is like styrofoam. Easy to grab and install. Free. There are many alternative approaches to common problems on file, all ready to use.

Proprietary code? Code your company pays you to make? I guess it would depend on the company and the author. You can go out of your way to make something elegant and beautiful, and not be aware of how fragile or insecure it is.

Go CPAN. Go open source. Go styrofoam.