Careful. Only a few of the XS modules have already been ported to 5.8, — meaning: compiled into a DLL, and made available to the public as a neat PPM package. Last time I looked, there was no HTML::Parser, no XML::Parser (hmm... that one may come with Perl — it does), no Bit::Vector, no Date::Calc, no DBI, no DBD::* modules that are not pure perl... the list goes on and on. Look here to see which are available. Now, what is available, looks like a long list already, but I do think that virtually none of those are XS based. Hey, if some of the most important ones (?) are missing, it is not looking too good...
Even most several of the Win32 API based modules are not available yet, not even the very basic Win32::API.
I can't say I'm particularily happy about the current situation. Bottom line: if you need any of those modules, don't upgrade. Not unless you have usable copy of Visual C.
Update: Seems I was a bit hasty to jump to a conclusion. Some of these modules do come with the basic install. That is the case for HTML::Parser and XML::Parser, but still not for DBI, DBD::*, Date::Calc, Bit::Vector. No, Win32::API is not included, but many other Win32::* modules are. That's odd... Tk is included, but Win32::GUI isn't. The repository is not a complete list, check out what is in the basic distribution. Unfortunately, it looks like you have to install it to find out which ones are included — that's one problem with .msi packages. Unless there is a list somewhere on Activestate's site...?
Update: At least some DBI related modules are available from the XMLPROJ repository. From a dbi-users mailing list message from Ilya Sterin:
Here is the deal. www.xmlproj.com/PPM now has perl 5.6 and perl 5.8
PPMs. ppm utility does not have to take the full URL. All you really
have to do, is add the www.xmlproj.com/PPM or any other respository to
your PPM database, like this...
ppm add respository XMLPROJ http://www.xmlproj.com/PPM/
If you're looking for recent binary ports for DBI and some of the DBD::* modules, this is the repository to look at first, even if it's for 5.6. For 5.8, at this moment, you can find DBI, DBD::ODBC, and DBD::Oracle. I would expect DBD::mysql to appear here first, too, eventually. | [reply] [d/l] |
a few of the module packages that activestate hasn't released yet are availible for Perl 5.8 at this repository
I installed my version of Perl 5.8.0 in a directory called "Perl5.8". I still need to use Perl 5.6.1 for some scripts, and since my old perl is still on the path I can call it as perl5.6.1
| [reply] [d/l] |
Win32::API IS available via PPM from ActiveState. From "ActiveState PPM2 Repository" at http://ppm.ActiveState.com/cgibin/PPM/ppmserver-5.8-windows.pl?urn:/PPMServer
I installed it on the 16th of January. (Per my c:\perl\site\lib\ppm.xml)
DBI is available as well. If you need some module that is not available from ActiveState or some other repository, try to ask in activeperl@listserver.activestate.com and quite likely someone will compile it for you.
Still I think it's best to keep both versions on your disk for some time (I do have 5.6.1 631 and 5.8 804) and if you have problems with 5.8 use the old one.
Jenda
Update: DB_File 1.806 compiled against Berkeley DB 4.1.25 is now available from my repository http://jenda.krynicky.cz/perl
| [reply] |
If you are only talking one machine, then list your modules and uninstall.
Best to be clean and with PPM; module reinstallation is quick.
If you have many machines, then I am sure one of the Brothers has some suggestions for massinstalls.
| [reply] |
There's only the one PC Marza - thanks!
elbow
| [reply] |
Go ahead and download it. Install it to a different directory, and test your code with both.
I have an alias that runs a (what else?) Perl script to find itself in the PATH and change it to the specified version. It writes the change to STDOUT and the alias (or batch file) can update PATH to that result. I also have aliases named perl56 and perl58 that run the specified version regardless of what's on the PATH first.
FWIW, the few things I've tried have shown no problems with ActiveState 5.8. With both available, you can still go back to the old for compatibility if needed—assign the .perl561 extension to the old perl.exe and rename any scripts that have issues.
—John | [reply] |
Before switching to Perl 5.8, have a look at the available modules in the ActiveState ppm-repository. Not all modules have made it to the Perl 5.8 repository yet. E.g. DBD::mySQL is not yet available and if your scrips depend on it (as do a number of my scripts) you are stuck, unless you go the CPAN way and compile them yourself. CountZero "If you have four groups working on a compiler, you'll get a 4-pass compiler." - Conway's Law
| [reply] |
As has been pointed out, module wise 5.8 is not quite there yet---having said that, remember that ActiveState is not the only repository site, brother Jenda comes to mind here...
--hsm
"Never try to teach a pig to sing...it wastes your time and it annoys the pig."
| [reply] |
Since you're using 5.005, why not try 5.6.1 first? 5.6.1 is very stable and reliable. You can always keep multiple versions of Perl by putting them in separate directories.
One important note, 5.8 and 5.6.1 are not binary compatible. So, many Perl modules available to 5.6.1 might not be available to 5.8.
The bottom line is, just put different versions of Perl in different directories, try them all out, judge for yourself. | [reply] |