in reply to Picking up a module from a specific location
Your unshift syntax is incorrect. With the correct syntax, this technique works for me.
Without modifying @INC:
$ perl -Mstrict -Mwarnings -E ' require Const::Fast; + say $Const::Fast::VERSION; say $INC{q{Const/Fast.pm}}; ' 0.011 /Users/ken/perl5/perlbrew/perls/perl-5.14.2_WITH_THREADS/lib/site_perl +/5.14.2/Const/Fast.pm
Modifying @INC with the normal path:
$ perl -Mstrict -Mwarnings -E ' unshift @INC => q{/Users/ken/perl5/perlbrew/perls/perl-5.14.2_WITH_THR +EADS/lib/site_perl/5.14.2}; require Const::Fast; shift @INC; say $Const::Fast::VERSION; say $INC{q{Const/Fast.pm}}; ' 0.011 /Users/ken/perl5/perlbrew/perls/perl-5.14.2_WITH_THREADS/lib/site_perl +/5.14.2/Const/Fast.pm
Modifying @INC with a different path:
$ perl -Mstrict -Mwarnings -E ' unshift @INC => q{/Users/ken/perl5/perlbrew//perls/perl-5.14.2/lib/sit +e_perl/5.14.2}; require Const::Fast; shift @INC; say $Const::Fast::VERSION; say $INC{q{Const/Fast.pm}}; ' 0.008 /Users/ken/perl5/perlbrew//perls/perl-5.14.2/lib/site_perl/5.14.2/Cons +t/Fast.pm
Note how I've put @INC back to the way it was with shift after each require.
Choice of Const::Fast was completely arbitrary: I just happened to know I had different versions which was useful for demonstation purposes.
-- Ken
|
|---|