Welcome, and thank you for downloading ActivePerl. This release corresponds to Perl version 5.12.2.
The following platforms are supported by this release:
AIX 5.1 or later (rs6000)
HP-UX: 11.00 or later (PA-RISC)
Linux: glibc 2.3 or later (x86 and x64)
Mac OS X 10.4 or later (x86 and powerpc)
Solaris 2.8 or later (sparc, 32 and 64 bit)
Solaris 10 or later (x86)
Windows XP (x86)
Windows Server 2003, Vista, Server 2008, 7 (x86 and x64)
For a chronological list of changes included in this and past releases, see the ActivePerl 5.12 Change Log.
Perl 5.12 is not binary compatible with Perl 5.10 or 5.8. In particular, do not attempt to use extensions or PPM packages built for ActivePerl 800 and 1000 series builds with ActivePerl 1200 series builds and vice versa. Please check Incompatible Changes in the perl5120delta manpage for known source level incompatibilities between the Perl 5.12 releases and the earlier release series.
There are some known outstanding issues with the PPM 4 client:
The PPM state database (containing configuration information for repositories, view options in the GUI, and repository state) is not imported from previous installations.
If you have added custom PPM 4 repositories in previous ActivePerl releases
then you should reconfigure them manually with
ppm repo add ... or in the
GUI. The repository state will be automatically re-synchronized when
PPM is run.
Post install scripts for packages installed from the GUI will not be able to receive non-default answers for any prompts it might produce. Packages that need non-default answers must be installed with the command line version of ppm.
List icons will sometimes not repaint properly after scrolling under X11. This does not affect the Windows and Mac OS X builds.
sudo ppm ... the first time
ppm is invoked from a
regular user account on Unix will create a root owned state
database. This effectively makes the database read-only when running
sudo, and might manifest itself as Application Error
dialogs when running the GUI. Workaround is to run
sudo chown -R
$USER ~/.ActivePerl once to fix up ownership of the state database.
GNU tar is required to extract the ActivePerl tarball into the filesystem. A precompiled version of GNU tar for AIX 5L can be found here:
You can also get the source package for GNU tar from:
The reloc_perl script does not correctly update the perl-dynamic executable. The workaround is to install directly from the tarball into the new location.
GNU tar is required to extract the ActivePerl tarball into the filesystem. A precompiled version of GNU tar for Solaris is available from:
You can also get the source package for GNU tar from:
Perl library paths, and thus PPM Areas, defined in the shell by the PERL5LIB environment variable are not available to PPM when it is launched by clicking the PPM icon in OS X. To to make this variable available in the OS X GUI, add an entry similar to the following to ~/.MacOSX/environment.plist:
sudo ppm or
sudo ppm gui does not start up the GUI with
root privileges. Use
ppm as a command line tool with
fork() emulation has known limitations. See the perlfork manpage for a
detailed summary. In particular,
fork() emulation will not work
correctly with extensions that are either not thread-safe, or maintain
internal state that cannot be cloned in the pseudo-child process. This
caveat currently applies to extensions such as Tk and Storable.
It seems that some people are having problems with the ActivePerl MSI installer. The first thing to note is that you CANNOT install ActivePerl 5.12 over an older version of ActivePerl based on 5.10, 5.8, 5.6 or 5.005, such as build 1007 or any other 1000, 800, 600 or 500 series build. We have determined that some of these problems are due to other installations of Perl that may be pointed at by something in the environment.
The sure-fire solution is to make absolutely certain that no other installations of Perl are on the target machine. Realizing that this is not always possible, you can follow these steps to ensure the other installations will not interfere.
Stop the "Windows Installer" service. This can be accomplished from the command prompt using the following command:
c:\> net stop "Windows Installer"
Temporarily remove or rename PERLLIB and PERL5LIB environment variables in the system environment.
Temporarily remove or rename the following registry values:
[\\HKEY_LOCAL_MACHINE\Software\Perl] lib = <directory> (REG_SV) [\\HKEY_LOCAL_MACHINE\Software\Perl] sitelib = <directory> (REG_SV) [\\HKEY_LOCAL_MACHINE\Software\Perl] lib-<PerlVersion> = <directory> (REG_SV) [\\HKEY_LOCAL_MACHINE\Software\Perl] sitelib-<PerlVersion> = <directory>(REG_SV)
Proceed with the installation.
Once the installation has completed successfully, the above actions may be undone although restoring the environment variables or the registry values may interfere with the proper operation of your new ActivePerl installation. In order to perform all of the above steps, you will need to have Administrative privileges on the target machine. If you do not have the required privileges you should contact you Administrator.
The Perl distribution comes with extensive documentation. On Unix platforms, all the standard documentation is installed as man pages under the Perl install location. The location of the man pages may need to be added to the MANPATH environment variable in order to access them. For example, in the C shell:
% setenv MANPATH /opt/ActivePerl-5.12/man:$MANPATH
The documentation is installed in HTML format on all platforms. If ActivePerl was installed in /opt/ActivePerl-5.12 then the HTML documentation would be located in /opt/ActivePerl-5.12/html.
On Windows, the standard documentation along with Windows-specific Perl documentation is installed in HTML format, and is accessible from the "Start" menu.
Updated versions of the HTML documentation will always be available at the ActiveState website:
Please report any bugs you encounter with this release in the ActiveState bug database:
If you do not have web access, reports can be also sent via email to ActivePerl-Bugs@ActiveState.com. Please be sure to include detailed information about the platform in your message.
As far as possible, please ensure that there is enough information in the report to reproduce the bug elsewhere. It also helps to submit a minimal test case that exhibits the bug.