| Perl Development Kit Release Notes |
September 16, 1999
For the latest information, please visit our Web site:
http://www.ActiveState.com/PDK/
The Perl Development Kit is a collection of Win32 Perl development tools. As a continued show of support for our existing customer base, Perl Development Kit 1.2 will be a free upgrade for owners of any of the following products:
To get the best results and maximum satisfaction out of the PDK, we recommend that you use ActivePerl build 519 or later. See the 'What's New?' section for more information about problems with PDK and ActivePerl builds 518 and earlier.
If you have problems downloading PDK send mail to Webmaster@ActiveState.com
This version of the PDK requires version 509 or later of ActivePerl to
be installed in order to install any components other than Perl Debugger,
examples and documentation. However it is strongly recommended that you use
ActivePerl build 518 or later since build 518 fixed some bugs that
were causing problems when building a freestanding PerlCtrl or PerlApp.
The latest version of ActivePerl can be downloaded from our
web site or from our
ftp site.
NOTE:Prior to installing ActivePerl, it is recommended that you
Windows NT 4.0 is required to build a PerlCtrl or PerlApp.
Before you install the PDK, it is recommended that you uninstall any previous versions of the PDK and any previous versions of the Perl Debugger.
Perl Resource Kit 1.0 owners may upgrade to the Perl Development Kit if they have applied PRK Service Pack 1 and/or the latest version of ActivePerl.
Painless, simple debugging for Perl scripts. The ActiveState Perl Debugger makes debugging Perl scripts a breeze with quick views of variables and expression. Its intuitive visual environment gets you up and running fast.
PerlCOM is an ActiveX Component that allows you to easily embed Perl Interpreters into client applications. You can add Perl subroutines to your applications, use Perl packages and classes, and exchange data freely between the host languages and Perl. Now you can embed Perl in any development environment that supports ActiveX components.
Build ActiveX Controls with Perl. These controls are packaged up as DLLs and can be used in any language that supports ActiveX components. You can build a dependent PerlCtrl, which depend on an existent Perl installation on the target computer, or a freestanding PerlCtrl which will run on a target computer that does not have Perl installed.
Convert your Perl programs to executable files. You can build dependent executables, which depend on an existent Perl installation on the target computer, or freestanding executables which will run on a target computer that does not have Perl installed.
VPM, the Visual Package Manager allows you to manage your Perl installation locally or remotely. VPM is a browser based application that lets you install, update, delete and get information about the Perl modules and extensions you have on your system.
The Network Installer lets you maintain a Perl installation in a single central point and provide access to that installation to clients across your network.
Perl WSAPI is an embedded Perl interpreter that runs in process with the O'Reilly WebSite web server and presents a standard CGI environment for a Perl programmer. With Perl WSAPI and O'Reilly WebSite you get the benefit of not having to start a new process to handle each request for a Perl script. Scripts written to be run by Perl.exe in a standard CGI environment should run without any modifications.
If you did not uninstall an earlier version of PDK or Perl Debugger 1.0 and then install this version of PDK, then uninstall the Perl Debugger 1.0 / old version of PDK, some components of PDK will no longer work properly. To avoid this problem, uninstall any old versions of the PDK or Perl Debugger 1.0.
If an incorrect directory is selected for the location of your ActivePerl installation the installation script may not be able to determine that you have a valid ActivePerl installation and present you with an error dialog. If this occurs you should return to the directory selection dialog and ensure that the correct directory is selected according to the instructions on the dialog.
Although an array can be passed to PerlCOM, a reference to the array can not be passed. Therefore any changes to the array elements must be explicitly returned to the caller.
When running the \Perl\eg\PDK\Approx\approx.pl example, the String::Approx package can produce a benign error if the requested word in ARGV[0] cannot be approximately matched from the words in words.txt. The error text looks like this:
Approx.vbs will produce a blank message box if an approximate match
for the user's text cannot be found.
Although controls built with PerlCtrl will operate on Windows 95, Windows 98 and Windows NT 4.0, the PerlCtrl builder will only operate on Windows NT. This is due to a limitation in the Win32 API under Windows 95 and Windows 98.
Although an array can be passed to a PerlCtrl, a reference to the array can not be passed. Therefore any manipulation of the array elements must be returned to the caller.
Parameters to PerlCtrl Methods are [IN] only. This also means that method parameters can only be passed by value, and not by reference. If you try to pass an array reference into a PerlCtrl method, a copy of the array is passed - thus, the client's array will be unchanged by any manipulations of the array by the PerlCtrl method.
Because PerlCtrl builds a binary Type Library, it does not support Case Smashing of methods or properties. This is not a bug and is the expected behavior. Case Smashing, however, is supported on method and properties of PerlCOM objects returned from PerlCtrl methods.
If at runtime you find that certain modules have not been included in your control properly, you will need explicitly add those modules on the command line. You should use the '-add=SomeModule' command line switch to force the inclusion of the module. The semantics of this are equivalent to doing a 'use SomeModule;' at the beginning of your script.
If you try to build a freestanding PerlCtrl which relies on an extension which in turn relies on certain DLLs, these DLLs are not included into the freestanding PerlCtrl. Since these DLLs are not part of the freestanding executable, they will have to be present on the target machine and accessible via the PATH environment variable.
The standard glob operator <*.*> will not work in a freestanding PerlCtrl because it relies on the 'perlglob.exe' file that ships with Perl. If you plan to use the glob operator in your freestanding PerlCtrl, you should import the overridden version from File::DosGlob like so:
use File::DosGlob 'glob';
Although executables built with PerlApp will operate on Windows 95, Windows 98 and WinNT, the PerlApp builder will only operate on Windows NT. This is due to a limitation in the Win32 API under Windows 95 and Windows 98.
If at runtime you find that certain modules have not been included in your control properly, you will need explicitly add those modules on the command line. You should use the '-add=SomeModule' command line switch to force the inclusion of the module. The semantics of this are equivalent to doing a 'use SomeModule;' at the beginning of your script.
For the reason stated above some Perl/Tk applications may not work as freestanding PerlApps. Tk uses 'do' and 'require' statements on variables as opposed to literal strings. A workaround for this problem is to preload modules not picked up by the builder script by adding the appropriate 'use' statements to your script or use -add=Foo;Bar;Baz on the command line.
If you try to build a freestanding executable which relies on an extension which in turn relies on certain DLLs, these DLLs are not included into the freestanding executable .exe file. Since these DLLs are not part of the freestanding executable, they will have to be present on the target machine and accessible via the PATH environment variable.
The standard glob operator <*.*> will not work in a freestanding PerlApp because it relies on the 'perlglob.exe' file that ships with Perl. If you plan to use the glob operator in your freestanding PerlApp, you should import the overridden version from File::DosGlob like so:
use File::DosGlob 'glob';
On Win9x machines, if launched from the Start menu, will cause the entire Start bar to disappear until the PerlSock task is killed or the system is rebooted.
VPM will not install any packages if you are using ActivePerl build 518 or earlier.
VPM may not work correctly on a machine that was configured to be a network Perl server. The cause of this is that the user the PerlSock service is being run as does not have permission to access the Perl share.
Installer:
Debugger:
PerlCOM:
PerlCtrl:
PerlApp:
PerlApp builder no longer puts out 5 blank lines on the console window while building a freestanding executable.
Scripts which contain
qx(net user $username /domain);
or
@userinfo = `net user $username /domain`;
now can be built properly by PerlApp.
Documentation:
Improved documentation about data type passing, especially regarding passing parameters or return values by reference.
Debugger:
PerlCOM: Minor bug fixes.
PerlCtrl:
PerlApp:
Installer:
Requires Win32::OLE module version .1005 or higher.
PerlCOM: Improved error checking and minor bug fixes.
pl2exe: In the Beta 3 release, the pl2exe utility was replaced with the PerlEXE utility. The final release of PDK 1.1 now contains a utility named PerlApp which replaces pl2exe and PerlEXE.
PerlCtrl and PerlEXE (now known as PerlApp): It is no longer necessary to have Perl installed in order to use controls or executables which are built using these 2 tools. You now have the option of building freestanding PerlCtrl DLLs and PerlApp executables.
PerlCOM:
PerlCtrl:
The PDK comes with two online help files: Perl Development Kit documentation and Debugger documentation. There is a printable file PDKGuide.doc which is a Microsoft Word document version of the PDK help file. The ActiveState Perl Debugger help includes a quick tutorial to get you up and running, and the Perl Development Kit help includes tutorial-based sections on PerlCOM and PerlCtrl. A wealth of examples is included in the example code subdirectory (usually C:\Perl\PDK\eg).
The PDK should be installed in the PDK directory under your Perl
installation. This directory is typically C:\Perl\PDK. The example
code is included a separate directory (usually C:\Perl\eg\PDK).
This version of the PDK contains sample files written in Perl, VBScript, JScript, Java
and C++.
In order to use the samples written in VBScript (.vbs files),
you will have to have Windows Scripting Host (WSH) installed.
All JScript samples are implemented within HTML files.
There are two methods of reporting bugs or problems:
The preferred method for reporting bugs or problems with the PDK is to fill in the Online Bug Report. The PDK-specific bug reporting form is located at:
Send e-mail to support@ActiveState.com making sure to include a complete, step by step description of the problem, including the machine and operating system type.
We're interested in what you have to say! Do you have something that used to work that just doesn't work any more? Any feature suggestions? Let us know! We can't guarantee that all suggestions will be implemented in future releases, but we'll do our best!
SUBSCRIBE pdkSubscribers can post to the Perl Development Kit mailing list via the Web interface or by sending e-mail to pdk@lyris.activestate.com