hardburn has asked for the wisdom of the Perl Monks concerning the following question:

I have a module used internaly at my company and would like to set some system-specific configuration for it before the module is installed. For instance, I'd like to have the user input an e-mail address for use in the tests (some of which need to send a test message and encrypt data using Crypt::OpenPGP).

From some digging in Mail::Sender, it appears that putting a file named 'Config.PL' in the root directory of your module distribution (when using ExtUtils::MakeMaker) will have that script run automatically after 'make' finishes. However, I haven't been able to find any documentation on this, either from a super search here or on Google. Mosty, I worry that this method is deprecated in favor of something better.

Further, the Config.PL script in Mail::Sender looks like it's tied to a command-line interface (using print and reading from STDIN). I don't like tieing myself to a specific interface--what if somebody wants to install my module with a GUI installer at some point?

What other techniques are avaible for making configuration options before a module is tested and installed?

----
I wanted to explore how Perl's closures can be manipulated, and ended up creating an object system by accident.
-- Schemer

Note: All code is untested, unless otherwise stated