in reply to Re: How to move a windows perl installation??
in thread How to move a windows perl installation??

Thanks but i'm not using ActiveState's perl. I'm building the normal perl distribution myself. I figured they are doing "something" like this, but I don't want to ripp off of them -- so i'm not even going to look inside of that script/file :-) And I was curious if this was a platform specific or generic issue.. (would seem to be a generic one right?)
  • Comment on Re^2: How to move a windows perl installation??

Replies are listed 'Best First'.
Re^3: How to move a windows perl installation??
by gmpassos (Priest) on Jul 21, 2004 at 21:13 UTC
    Tha main point is the change of the value FROMPATH (let's say c:\perl) to DESTPATH (c:\utils\perl) from all the executable files. On Win32 are all the scripts, bat and perl.exe. On linux are the scripts and perl binary.

    So, the change for scripts and bats are just to change one scring to another. For binaries is just to change the value but keeping the size:

    my $nullpad = "\0" x (length($frompath) - length($destpath)) ; open (FROM,"c:\perl\bin\perl.exe") ; binmode(FROM) ; open (TO,">c:\utils\bin\perl.exe") ; binmode(TO) ; while( my $line = <FROM> ) { $line =~ s/\Q$frompath\E(.*?)\0/$destpath$1$nullpad\0/gs ; print TO $line ; } close (TO) ; close (FROM) ;
    So, for scripts is 100% portable, and for binaries it should be 100% portable too, but the DESTPATH need to fit in the reserved area for the string (char*) in the constant in the binary. In other word, the DESTPATH need to be small to guarantee that it will worl 100%.

    Graciliano M. P.
    "Creativity is the expression of the liberty".