The prefork pragma is intended to allow module writers to optimise module loading for both scenarios with as little additional code as possible. The prefork.pm is intended to serve as a central and optional marshalling point for state detection (are we running in procedural or pre-forking mode) and to act as a relatively light-weight module loader.