http://www.perlmonks.org?node_id=910515


in reply to Package Proliferation

A few years ago I refactored a _one big script_ into packages (Make everything an object?). Four of them, actually, not a million miles away from your list. :-)

While that post revolves around OO the general idea would apply without it as dragonchild pointed out.

I found the points made in this thread by Corion and davido to be true, particularly the separation of concerns and the testing.

If you carefully design a simple API for each package and stick to it you have far less "package-management to ... existing files" and no need to "doublecheck all the places I've invoked those functions". You may need a couple of runs around the block before you get the 'model' right but I think it is worth it.