in reply to why require a true value

My assumption was always that this allowed a module to try to load its own parts out of other files and then fail if it couldn't do so. For example, loading libraries, or loading autoloader-based .al files (e.g., if you're in a mod_perl environment and want to pre-load everything, a la CGI).

At the very least, even if these weren't the ideas at the time, it was flexible enough to allow things to happen. Quite contrary to YAGNI...