@ARGV gives you the arguments from the command line that came after the script name. How do you from inside a script get the cmd line arguments that appeared before the script name when the script was executed?
perl -MFoo::Module -I./specialib scriptname.pl --argv_arg
scriptname.pl needs to do a system($^X,
and pass the same exact -I and -M arguments to the child perl process. The names of modules loaded with the -M are random and not from a fixed list from the viewpoint of scriptname.pl. Looking at @INC and %INC is a problem because of unpredictable PERL5LIB/PERLLIB/PERL5DB/interp compile options.
scriptname.pl is really a Makefile.PL that calls EUMM, and I'm trying to fix a problem in EUMM, where the makefile that EUMM generates determines it is out of date and regenerates itself (it=makefile), that makefile, doesn't call Makefile.PL with the same interp args (-Is and -Ms) that the 1st Makefile.PL run was called with, so the regenerated makefile is very different from the 1st makefile, which then breaks the compiling process.