Hmm, your solution looks really nifty. I might switch to something like that when I've finished this attempt.

My solution is to run a script which targets specific config settings for replacement. For CPAN's Config.pm it does a little bit more than s/?:\\strawberry/$new_prefix/ (mostly pointing to some other include files on the flash drive). Perl's Config.pm on the other hand just needs a search/replace done on it. Config_heavy.pl looks like it needs a combination (and to be honest it hasn't been done properly! there's a lot of references to usr/lib and similar unixisms).

I have a U3 drive because I like UltraEdit32 and the U3 version is pretty much everything you need for non-compiled languages. (I use it for Perl, Javascript, and XHTML).

Here's the script so far, I'll get to work on it more tomorrow. It's a bit niave in some places (uh, like how I haven't used rename) and needs some of the debugging code stripped out.