in reply to A corrolary to TMTOWTDI
maybe he doesn't have access to the CPAN archive
maybe he just wanted to share his code with us, regardless whether this had been CPAN'ed already
some people might not have axx to the CPAN repository (not many but i'm sure they're around), or don't know it exists
reinventing the wheel is unproductive for the company/project , but then again not all wheels are perfectly round and thus can use some re-engineering. The learning process while reinventing is valuable too !
"Do or do not, there is no try" -- Yoda