in reply to Module Loading Tool

You can put a code reference into @INC, which will be called by require when attempting to load a module. If the code reference returns undef, then require will continue on using the rest of @INC...

unshift( @INC, sub { my ( $self, $path ) = @_; $path =~ s#/#::#g; $path =~ s/\.pm$//; print "INC: $path\n"; return undef; } );

www.jasonkohles.com
We're not surrounded, we're in a target-rich environment!