/usr/local/bin/perl -w use strict; BEGIN { # I'd put all the locations I want added into an array my @inINC = "/pathsToTheModulesIWant"; # I'd load all the current values into a different array my @initINC = "/defaultINCPaths"; # Then I'd have an array with all the values I want # pulled from @INC my @badINC = "/modules I don't want"; # (With the problems with interdependencies you may need # to move some modules to there own directory ) # I'd then loop through the initial array and load the # paths I want to keep my $initPath, $badINCPath; for $initPath (@initINC) { for $badINC (@badINC) { unless ( $badINC eq $initPath ); { push (@inINC, $initPath); } } } # Now that you have the order and values of the # paths you want, set @INC @INC = @inINC; } # and On with the programs regularly scheduled execution use x; use y;