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


In reply to System-specific module configuration by hardburn

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.