Welcome, and thanks for downloading ActivePerl. This release corresponds
to Perl version 5.6.1.
Please note that ActivePerl 600 series builds are NOT binary-compatible with
the older 500 series builds. In particular, do not attempt to use extensions
or PPM packages built for the 500 series builds with ActivePerl 600 series
builds and vice versa. This build is binary compatible with previous 600
series builds.
Binaries for the following platforms are available:
-
Linux x86 for Red Hat 6.2 or later
-
Linux x86 for Debian 2.2 or later
-
Solaris sparc for Solaris 2.6 or later
-
Windows x86 for Windows 9x, NT, Me, 2000, XP and 2003 Server
For a granular list of the changes included in this release, see
the ActivePerl Change Log.
The following list is a general summary of the known incompatibilities
between the 5.6.1 source code release and earlier releases. Be sure to
consider these very carefully before upgrading.
-
Compatibility macros for global variables are not available by
default, to control namespace pollution. If older extensions don't
build because of missing symbols, try ``perl Makefile.PL POLLUTE=1''
first.
-
Subroutines named CHECK are considered special, and will be
automatically executed when the compilation of the main program ends.
Rename such functions to lower/mixed case.
-
$English::PERL_VERSION is now an alias for $^V (a string) rather
than $] (a number). You may need to use the ``%vd'' sprintf format
to display this correctly.
-
Literals of the form 1.2.3 parse as
chr(1) . chr(2) . chr(3)
rather than as "1.2" . 3.
-
rand() may yield a different (but usually more random) sequence due
to internal changes.
-
Iterating over hashes may yield a different order than before due
to changes in the hashing function used.
-
The
undef operator raises an exception when applied to read-only
values.
-
The close-on-exec bit is now set on pipe and socket handles as well,
if you set $^F high enough.
-
"$$1" always means "${$1}" now, rather than $$ . "1" (which
was deprecated in 5.004).
-
delete(), each(),
values() and \(%h) operate on aliases to values,
instead of on copies. You may need to copy the values explicitly
where needed.
-
vec() will raise an exception if the BITS argument is not a
power-of-two integer.
-
not followed by parentheses behaves like a list operator. This
allows grep not($_), @things to work as expected, but also changes
not (1,2,3)[0] to mean (not(1,2,3))[0] instead of
not((1,2,3)[0]).
-
The semantics of the bareword prototype (*) have changed to make it
possible to pass barewords, as in many builtins.
-
Bitwise operators on 64-bit platforms operate on the entire native
width rather than just the lower 32 bits. (You must mask off the
excess bits if you don't want them.)
-
More builtins taint their results due to higher security paranoia,
when perl is running under taint mode (enabled via the -T switch).
-
If you have a perl installation older than 5.005, note that 5.6.1
won't be binary compatible with it. You will need to recompile
all extensions when upgrading from installations older than 5.005.
(This only applies when building from the source code--ActivePerl
builds based on 5.6.1 are not binary compatible with builds based
on 5.005 and earlier.)
-
A definitive summary of platform-independent changes and known issues in
this release is available in perldelta and in the CHANGES log that
comes with the ActivePerl distribution.
-
Unicode support still has various known bugs. Please refer to the
perlunicode documentation.
-
ActivePerl depends on MSVCRT.DLL being installed on the target system.
This file ships with all versions of Windows except for Windows 95.
If you do not have this file installed on your system you may
experience problems installing and/or running components within ActivePerl.
You can download a self extracting executable that contains MSVCRT.DLL
from:
ftp://ftp.microsoft.com/softlib/mslfiles/msvcrt.exe
Save the file in a temporary directory and double click on it to
extract the files. Follow the instructions in the ReadMe.txt file
contained in the package in order to install the missing file.
-
The
fork() emulation has known limitations. See perlfork 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 psuedo-child process. This
caveat currently applies to extensions such as Tk and Storable.
-
It seems that numerous people are being bitten by this error from the
ActivePerl MSI installer. The full text of the error message probably looks
something lke this:
Installer Information
Internal Error 2744. PPM_CONFI, C:\perl\bin.
"C:\Perl\bin\wPerl.exe" "C:\Perlbin\configPPM.pl"
"C:\Perl\site\lib\ppm.xml" "D:\downloads\perl\\"
"C:\Perl\site\lib\ppm.xml~"
The first thing to note is that you CANNOT install ActivePerl 5.6 over
an older version of ActivePerl based on 5.005, such as build 522 or any
500 series build.
We have determined that one cause of this error message is due to other
installations of Perl that may be pointed at by something in the
environment.
Workaround
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.
1) Stop the ``Windows Installer'' service. This can be accomplished from the
command prompt using the following command:
c:\> net stop "Windows Installer"
2) Temporarily remove or rename PERLLIB and PERL5LIB environment
variables in the system environment.
3) 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)
4) 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.
-
Norton AntiVirus 2000 detects VBS.NewLove.A in the file ActivePerl-Winfaq12.html.
Workaround
This is a false positive by Norton AntiVirus. ActivePerl-Winfaq12.html has
been examined by hand, and it is likely that the following example code is
what causes the false report.
<BLOCKQUOTE>
<P><CODE>use strict;<BR>
use Win32::OLE;<BR>
use Win32::OLE::Const 'Microsoft Outlook';<BR>
<BR>
my $Outlook = Win32::OLE->new('Outlook.Application', 'Quit');<BR>
my $ol = Win32::OLE::Const->Load($Outlook);<BR>
<BR>
my $namespace = $Outlook->GetNamespace("MAPI");<BR>
my $Folder = $namespace->GetDefaultFolder(olFolderInbox);<BR>
my $NewFolder = $Folder->Folders->Add("Test1");</CODE></P>
</BLOCKQUOTE>
This can be tested by removing the above code from the ActivePerl-Winfaq12.html
file and rescanning with Norton AntiVirus. Norton AntiVirus will no longer
detect VBS.NewLove.A.
Symantec has been notified of this issue.
-
The following Microsoft knowledge base articles may be helpful in solving MSI
problems:
Q236597 - OFF2000: Error Message: The Installation Package Could Not Be Opened ...
http://support.microsoft.com/support/kb/articles/Q236/5/97.ASP
Q224094 - OFF2000: Error Message: This Application Requires the Windows Installer to Run
http://support.microsoft.com/support/kb/articles/Q224/0/94.ASP
Q247532 - Works 2000 Err Msg: Installer Terminated Prematurely
http://support.microsoft.com/support/kb/articles/Q247/5/32.ASP
``Error 1303. The installer has insufficient privileges...'' Running Office Setup
http://support.microsoft.com/support/kb/articles/Q228/6/58.ASP
Error Message: Error 1316 Running Setup for Admin Installation
http://support.microsoft.com/support/kb/articles/Q228/5/92.ASP
Error 1327 Invalid Drive During Office Installation
http://support.microsoft.com/support/kb/articles/Q217/6/66.ASP
-
On Windows 9x, the system must be rebooted for the PATH environment variable
to take effect.
On Windows 9x, the PATH environment variable settings are not removed after an
uninstall.
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 /usr/local/ActivePerl-5.6/man:$MANPATH
The documentation is installed in HTML format on all platforms. If ActivePerl
was installed in /usr/local/ActivePerl-5.6 then the HTML documentation
would be located in /usr/local/ActivePerl-5.6/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:
http://www.ActiveState.com/ActivePerl/
Please report any problems you encounter with this release at the
following location:
http://bugs.ActiveState.com/ActivePerl/
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.
|