http://qs321.pair.com?node_id=966698


in reply to Top 11 (GOOD) reasons not to use someone else's Modules

LEARNING and PERFECTION - surely these two points are mutually contradictory? If you're still in the process of learning something, then your code is likely to be naive and suboptimal. You may have missed several edge cases. If you're aiming for perfection, then you shouldn't be using the code you wrote as a learning exercise in production.

CPAN ACCESS If you need to upload code in a cumbersome method, surely that applies equally to code you've copied from CPAN, and code you've written yourself? I can't imagine a situation where copying and pasting code could be more cumbersome than typing new code.

COMPLEXITY It may well be counter-intuitive to you to install a Perl module for a one-time script. But for me, it's counter-intuitive to write reams of code for a script that's only going to be used one time. Better to write my code in modules that I can reuse in multiple scripts; better still if somebody else has already done it for me.

LICENSING The majority of CPAN modules are licensed under the same terms as Perl itself. If their licensing terms are a problem, then using Perl at all is likely to be problematic.

JOB I'm paid to solve problems. If I can reuse other people's code and solve a problem faster, then I can solve more problems.

perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'