in reply to Program structure: subs vs modules vs Selfloader

You are asking the wrong questions:

If the 200 line routine seems messy now, do you think it will be any better in a separate module? Perhaps you could refactor it into several routines, and make it more readable in the process?

How big is the rest of the program? If it's 200 lines of the subroutine and five lines of the rest, does it really make sense to create a module just for the routine (it might, if you think other people (or you at another time) might have a use for that subroutine). If it's a 200 line subroutine in a 1000 line program, it will probably make sense to break it into modules - and probably more than one.

Unless the module was very general, breaking the program into a tiny script and a large module does not improve readability.

Self loader, of course, does NOTHING for readability - it might improve loading times, sometimes. However, you need to know what you're doing, and I suggest a thorough course of benchmarking to make sure the added complication of Selfloader really is offset by the reduced code size on initial load. It is no way a foregone conclusion.