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 = ) { $line =~ s/\Q$frompath\E(.*?)\0/$destpath$1$nullpad\0/gs ; print TO $line ; } close (TO) ; close (FROM) ;