in reply to Coupling modules in source

You can place all of your modules in the same file:
package SomePackage; my $var = 1; sub some_sub { ... } package main; print "Main stuff here." &SomePack::some_sub;
By including it in your source, you don't have to use it, since it's already there and all of your name spaces set up appropriately. The only caveat: in the example above, $var is available by your main code (in the 'main' package) as well. Variable scoping is done by files, so things that one package might be assuming is private will not be if you do this. A package statement does not begin or end a block. As a result, variables in your program may clash with others in another module.