|Subject:||A simpler approach|
Rather than rewriting the Makefile.PL, which is fraught with peril and a one-way process (can you run an upgrade twice?), how about just changing "use ExtUtils::MakeMaker" into... use lib "inc"; use EUMM::Upgrade; Then drop inc/EUMM/Upgrade.pm into the module. EUMM::Upgrade (or whatever you want to call it) would pass through everything MakeMaker exports EXCEPT it would export a WriteMakefile() wrapper. That wrapper would read the args, do the necessary version filtering, and pass it along to the real WriteMakefile().