What sort of configuration do you want to do? A typical Makefile.PL looks like:
use ExtUtils::MakeMaker; # See lib/ExtUtils/MakeMaker.pm for details of how to influence # the contents of the Makefile that is written. WriteMakefile( 'NAME' => 'foo::bar', 'VERSION_FROM' => 'bar.pm', # finds $VERSION 'PREREQ_PM' => {}, # e.g., Module::Name => 1.1 );
It could easily look like this:
use ExtUtils::MakeMaker; my ( $config_file, $makefile ) = ask_config_questions(); write_config( %$config_file ); WriteMakefile( %$makefile ); sub ask_config_questions { my %config; print "What is your name? "; chomp( my $name = <> ); $config{'name'} = $name; # blah blah my %makefile = ('NAME' => 'foo::bar', 'VERSION_FROM' => 'bar.pm' ); # blah blah - ask more questions, modify %makefile... return \%config, \%makefile; } sub write_config { my %config = @_; open CONFIG, '/some/path/' or die "Can't write config $!\n"; print CONFIG "$_ = $config{$_}\n" for keys %config; close CONFIG }
See the MakeMaker.pm docs for more details on how you change the Makefile via the hash you pass to WriteMakefile(). make(1) just processes the Makefile so you need to do your stuff in the Makefile.PL which writes this file if you want to keep it really simple.
cheers
tachyon
s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print
In reply to Re: Interactive installation configuration
by tachyon
in thread Interactive installation configuration
by johanvdb
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |