There seems to be several different camps on how to handle something like that. As with the above suggestions, you could use the prompt method of ExtUtils::MakeMaker
. It works something like this:
# Somewhere in your Makefile.PL...
use ExtUtils::MakeMaker qw(prompt);
# Prompt the user for the system ID, offering "Default_id"
# as the default (ie, if they just hit enter without
# entering any new text)
my $system_id = prompt("What is the system ID", "Default_id");
run_code_to_update_system_id_in_all_files( $system_id );
Another idea is to offer a script which updates this variable, after all of your Perl modules are already installed. The advantage of this is that if the system id changes, it's very easy for the user to update their modules. This is almost like a package manager of some sort, but it doesn't have to be too complicated. It might act something like this:
This script could then find all your modules, and update them appropriatly.
Just some thoughts.. hope that helps!