Question

I've done some research and it seems like ActivePerl had issues with earlier releases of it's product with certain CPAN modules not installing properly. However, I'm running the 5.14.x version and I've not had any problems.

According to some quotes I've seen:

  1. ActivePerl is 100% compatible with the reference distribution of Perl.
  2. Code tested with ActivePerl will run on any Perl installation that has the appropriate extensions installed.

I assume that the first statement refers to the standard modules you get with the Perl installation and for the second, I'm not sure what they are saying?

In any event, is there any way to find out how compatible ActivePerl is with the current CPAN modules or is that something that isn't known? I just don't want to spend time with it, only to have to switch to something like Strawberry Perl next month to avoid CPAN module build failures for the more common modules.

If ActivePerl is compatible with say 80% or higher with the CPAN modules I would feel more comfortable about using it, but I couldn't find any information on this.

Was it helpful?

Solution

I doubt a generic statistic will be that useful. In general I would expect all "pure perl" modules should work more or less out of the box. Keep in mind however that certain perl modules really are interfaces to lower level linux/unix style shared libraries (dlls in Windows terms), where availability is less certain. In my experience (having written a few perl applications being hosted on Windows, against my advice) most things will work, and/or are fairly easy to work around, and both ActiveState and Strawberryperl seem to have decent support for most common modules.

OTHER TIPS

The first statement doesn't refer to modules at all. It says that ActivePerl is not based on Perl, it is Perl. As such, anything that will run on Perl will also run on ActivePerl.

This also means that all modules on CPAN are compatible with ActivePerl since ActivePerl is Perl.

Whether a module is compatible with Windows is an entirely different question, and it can only be answered on a module-by-module basis.


The second statement points out that if you had a script or module that runs on a pristine ActivePerl, it might not necessarily run on a pristine Perl because ActiveState includes modules in its distribution that aren't core modules (e.g. LWP). But all you'd need to do to make the script or module run on the other distribution is to install those modules.

You can check on the availability of PPM modules at http://code.activestate.com/ppm/. For example, one module that doesn't work well through PPM is PAR::Packer.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top