Currently all Makefile.PL's are runinng inside the same package unless
declared explicitly by each Makefile.PL. This leads to problems.
For example function redefinition errors under:
use strict;
use warnings FATAL => 'all';
e.g if the parent dir's Makefile.PL and the child both define:
sub clean_files {
return [@scripts];
}
redefine warning will kill the makemaker.
This can be worked around as:
use strict;
use warnings FATAL => 'all';
no warnings 'redefine';
Or declaring a package in each Makefile.PL.
But ideally MakeMaker should run child Makefile.PL's in a dedicated
package created on the fly by MM (e.g. based on the path):
eval "package Makemaker::Root::$sub_dir_path; $slurped_file_content; 1;";
Otherwise there is the problem that i've mentioned here, and the child
Makefile.PL's can inadvertently mess up each others global variables and
what not.
What do you think? If this works for Apache::Registry (running any
script so it won't affect any other script running by the same
interpreter) it will probably work for MM as well.
__________________________________________________________________
Stas Bekman JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide ---> http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org http://ticketmaster.com