What I've done is first scope out the competition. That is, I check what CPAN has to offer, and maybe check out what features and limitations they have. If I can shoe-horn it into what I need, I'm done. If it fits comfortably, even better.
Otherwise, I decide how much change it needs to fit. It may need some architectural changes, or they may be superficial. I evaluate this, decide how long it's likely to take if I ask the author to add those features. Then I figure out how long it would take me. Here I have two choices: rewrite, or extend. With a rewrite, I obviously place no dependancy on the original module(s). With an extend, I derive off the original module, and override as I need.
Of course, there are modules whose basis for existance is extending, such as CGI::Application. That's not a deficiency in the design, that's a purposeful design (which I call "framework" - but I don't know if that's the technical Comp Sci term). I really like frameworks. They say, "There is no such thing as a fleshed out product in this area, so I'm just going to help you do it yourself." These "fit" much better since they were designed for flexibility.
Generally speaking, I end up down the "rewrite" path all too often because I end up with no time (as in span) to wait for things outside of the frameworks.
In reply to Re: On waiting until a word becomes a better place...
by Tanktalus
in thread On waiting until a world becomes a better place...
by Eyck
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |