in reply to Had to move perl to a different directory

Now @INC is all wrong

I think this can be fixed by setting the PERL5LIB environment variable to the desired directories. Delimit the different locations with whatever is specified by perl -V:path_sep

lots of the perl package .... have the old location on the shebang line

If that poses a problem then I don't know of any solution (apart from creating a symlink).

There will additionally be a number of %Config values that need amending - this can be done using the same techniques as employed by ExtUtils::FakeConfig.

However, IMO, by far your best solution is just to recompile perl. If you recompile the same version && use the same config options as the original build && install it into the new location (thereby clobbering the perl you've currently got), then you won't need to re-install any modules.

Cheers,
Rob