in reply to Package Proliferation

Two reasons:

files run ~350 lines each - organisation of topics
And the modules that I've downloaded from CPAN mostly follow this scheme. - adherence to customs

Now, as to why to put all the routines into separate packages, why not ask the author directly? I can, again, think of at least one reason, separation of concerns. Having the routines for data fetching and data reporting neatly separated helps testing and developping them in separation.