Paladin has identified the problem. His solution of replacing 'require' with 'use' implicitly calls 'import' (which you stated that you do not want). You can do your require at compile time without the side effect by placing the 'require' statement in a BEGIN block. The module does not have to explicitly export anything because exports will be ignored.