OK - here's the deal -
This will result in a reasonably proper installation of the Perl 10.1 that is distributed with XAMPP 1.7.3 being installed in a XAMMP 1.7.1 basic default installation (installation folder is c:\xampp).
This is NOT for the average XAMPP user, and comes with NO assurance you will get the same results.
Information and underlying assumptions, for better or worse.
The Perl add-on that was distributed with earlier versions of XAMPP was built around an incomplete suite of components associated with the ActiveStates Perl distributions. It is also apparently known as 'mini-perl'. Its a bare-bones Perl that is highly dependent on mod_perl. Because its built around the ActiveStates distributions, its' DLL's will be incompatible with the 'fully integrated' Perl that comes with XAMPP 1.7.2+. The binaries for the 'XAMPP' Perl were compiled by Carsten Weidmann using Perl.org source with the Microsft Visual C++ 6 compiler so they would be fully compatible with the Apache binaries in the XAMPP distribution (mostly for mod_perl).
The XAMPP Perl includes a full suite of tools in the form of batch files, many adapted from the Linux oriented scripts. I have really only tested two of them, both aimed at library/repository maintenance; ppm.bat (an ActiveStates repository manager) with functionality similar to AS's PPM.EXE, and cpan.bat (a Windows CPAN script clone). These two tools are aimed at maintaining Perl Modules. Perl Modules are basically libraries/methods implemented in Perl. There is one BIG hidden element for average users. Perl Modules CAN use embedded C routines. IF a module's source includes raw C, its going to have to be compiled. This is where CPAN gets really tricky, its really designed for the Linux environment. Its purpose is to fetch the code, then build, make, install and test - just like on Linux. Bad news for most - this is next to impossible to debug, unless you want to get your hands dirty, really dirty. The breakpoint is getting to grips with 'nmake.exe', and understanding dependency trees. PPM (because its aimed at already ActiveStates pre-built {compiled} components) goes right around that issue. So you are most likely to get results with PPM. (I have IIS servers that run ActiveStates Perl and Python, very fine products - and am thus pretty familiar with it.)
things are are UNLIKELY TO WORK.
After this 'fix' - mod_perl and ASP for Apache will probably just not work. They are both dependent on Perl that is handled by the mod_perl Apache extension, and I found that Apache just won't start if the mod_perl version is different from the base Apache executable.
OK - the fix.
First - download the 1.7.3 ZIP archive of XAMPP. The installer won't work for your purpose. Use 7Zip to extract it into a folder on your desktop. We will be using the 'xampp\perl' folder contents later. This is why this fix only works with C:\xampp installations. When you extract the files for Perl, they are defaulted to c:\xampp. If you want to do something else, be prepared to go looking for for fixes in the Apache .conf files, and probably some of the batch files also.
Second - disable mod_perl in your current 1.7.1 installation. You can do this by running 'setup_xampp.bat' which is found in the C:\xampp folder.
Third - Shut down XAMPP, and rename the c:\xampp\perl folder to c:\xampp\mini-perl. This has the effect of making those files inaccessible to the XAMPP batch files, and any installed Perl scripts. Don't restart XAMPP.
Fourth - Copy the entire \xammp\perl folder and its contents from the xampp folder on your desktop to the root of c:\xampp. XAMPP is unaware you are pulling a switcherooo. The Perl executable name for both versions is the same: c:\xampp\perl\bin\perl.exe, so you shouldn't have to fix any Perl Script "shebang lines" - which should be:
- Code: Select all
#!"C:\xampp\perl\bin\perl.exe"
{optional}
There are 'leftovers' involved here - specifically the 'mini-perl' folder and the files 'under' \xampp\htdocs\modperl and \xampp\htdocs\modperlasp. What you do with them is optional - I usually just move folders to an 'out_of_use' folder or rename them to xxxx.old or xxxxxxx.bad so I know they are out of date, that way if I find I broke something, its not too ugly. If you want things 'informational', you probably want to copy in these two files from the 1.7.3 htdocs\xampp folder; perl.pl and perlinfo.pl.
OTAY! - that should do it. You should be able to start Apache now.
Look in the perl\lib folder AND use the perlinfo.pl pages to see what is already installed. If you DON'T understand repositories, now is the time to learn about them (they are a 'Linuxy/Unixy' kind of concept). each time you use these tools - you are building a repository/library of your own - you can actually mirror the repositories, that's what those "." dot folders are for --
http://en.wikipedia.org/wiki/CPANhttp://en.wikipedia.org/wiki/Perl_package_managerThe last article explains about the compiler issue briefly.
Specific to this thread - Multiplex, for your validator, I'd get a list of dependencies, and research them with PPM (look for the PPM repositories in the Wikipedia item) , you will probably find everything you need, as ActiveStates is the 'default' standard for Perl on Windows,
http://www.activestate.com/activeperl/ppm-perl-modulesPlease, Please - Keep NOTES! (particularly what you needed) and let me know for sure how it works out - I'll write up a Guide with your help on installing the W3C Validator.
Good Luck, Multiplex.