Dec 28 2019
About This Program
System Requirements
Installation
Release History
Contacting the Author
License Agreement
Perl2Exe is a command line utility for converting Perl scripts to executable files.
This allows you to create stand alone programs in perl that do not require the perl interpreter. You can also ship the executable file without having to ship your perl source code.
Perl2Exe also allows you to create no-console programs using Gtk or Tk.
Perl2Exe for Unix can generate executables for supported Unix machines. Perl2Exe for Unix can also be used from a Windows host to generate executables for a Unix target host.
This document covers Perl2Exe V6.00 and later.
perl2exe myscript.pl
or
perl2exe [options] myscript.pl
This will convert a script named myscript.pl to myscript.exe.
-v | Verbose output Verbose supports optional sub options. -v print list of modules used -v=from Print location where the module was referenced |
-register | This option allow you to enter registration information for Perl2Exe. You will be prompted for a registration key. |
-small | Generates a smaller executable which uses a shared
runtime DLL. The generated executable will be smaller by about 600KB.
The executable will require a shared DLL, p2xXXX.dll to run. This DLL
will be copied to the current directory.
Applies to the Pro version on Windows only. |
-tiny | Create an even smaller executable by placing additional code into DLL's. Perl2Exe will create DLL files in the current directory containing code from loadable modules which use pll, dll, or so files. This option is not available in the Lite versions of Perl2Exe. |
-gui |
Create a no-console executable. This can be used for Tk and Win32::GUI applications. I/O to STDOUT and STDIN will not be visible. If your application does not work do not use the -gui option while testing as it will hide possible error messages. Applies to Windows version only. |
-icon=filename |
Add a user supplied icon to the executable. The icon must contain a Standard(32x32) and a Small(16x16) bitmap and must be 1078 bytes long. How to create the required icon using Dev Studio: Icons will not display on Win95 systems unless IE is also installed. Applies to Windows version only |
-o=filename | Specify the output filename. |
-platform=SunOS -platform=Linux etc |
Specify the target platform for the
executable. The default is based on the host
machine. On a Linux host the default is linux, on a SunOS
(Solaris) host the default is SunOS. For a full list of
available platforms type the command 'perl2exe'.
|
-noopt | Disable some optimization. |
-opt | Increase optimization. Line numbers in error messages will not match your code if this option is used. |
-I=dir1:dir2 | This will cause Perl2Exe to search in additional directories for modules |
Pragmas:
The following comments in your source code will affect the way that perl2exe operates.
#perl2exe_include modulename | Add the named module to the executable.
Examples: #perl2exe_include Data::Dumper #perl2exe_include "Data/Dumper.pm" |
#perl2exe_exclude modulename | Exclude the named module from the executable.
Examples: #perl2exe_exclude Data::Dumper #perl2exe_exclude "Data/Dumper.pm" |
#perl2exe_noopt |
Disable optimization for the current source file |
#perl2exe_noopt modulename | Disable optimization for the named modules |
#perl2exe_bundle filename | The named file will be added to the
executable. At run time the file will be extracted to a temp
directory where it can used by your application for any
purposes. The file will be removed when the program
exits. The temp directory is given by:
$temp_dir = ( $ENV{TEMP} || $ENV{TMP} || $ENV{WINDIR} || '/tmp' ) . "/p2xtmp-$$"; Example: |
#perl2exe_info name=value | This pragma is used to set file version information for
Windows executables.
Values are strings except FileVersion which must be of the form 'W.X.Y.Z' (where W, X, Y, and Z are numbers in the range 0-65535. X, Y, and Z are optional and default to 0). Name is one of the following list. CompanyName, FileDescription , FileVersion, InternalName, LegalCopyright, LegalTrademarks, OriginalFilename, ProductName, ProductVersion, Comment. |
Notes and FAQ's:
1. Contacting us for support
If you are having trouble getting your executable to
run, please send us the
following information:
2. Building your executable
Build your script with the command:
perl2exe yourscript.pl
Perl2Exe will automatically scan your source code for use and require statements. Required source modules (".pm" files) and autoloadable (.dll and .so files) will be automatically compiled into the executable file. On Windows perl.exe must be in your path.
Perl2Exe may print warnings about missing modules. If the module really does not exist the warning can be ignored. You can suppress the warning message by adding a '#perl2exe_exclude' pragma line to your script.
Perl2Exe can handle most scripts without any changes. If your script contains any 'use lib' statements, comment out the statements and use a -I command line option to cause Perl2Exe to look in additional non-standard directories..
3. Testing your executable
Test the executable by running it from a command line prompt.
If it dies with a "Can't locate somemodule.pm in @INC ... " error message, then add an explicit use statement for the missing module to your script.
Do not use the -gui option while testing as it will hide possible error messages.
If the executable still fails to run properly try running it with a -p2x_test option. If this produces error messages about a missing then add an explicit #perl2exe statement for the missing file to your script. If the file really does not exist on your system then the message can be ignored.
4. "Can't locate somemodule.pm in @INC at
myscript.pl line 1" error message
If you get an error message like the one above, you can
force the missing module to be compiled into the exe by adding a line
like one of the following to your script:
#perl2exe_include "somemodule.pm";
Or if the message is "Can't locate Foo/Bar.pm in ...":
#perl2exe_include "Foo/Bar.pm";
Please also send us the script with this problem, so we can fix the problem in a future version of Perl2Exe.
5. Perl2exe compatibility
Perl2Exe V26.10 for Windows is compatible with Perl
5.26.x 64-bit. ActivePerl and StrawberryPerl
Perl2Exe V24.10 for Windows is compatible with Perl
5.24.0 and Perl 5.24.1 64-bit. ActivePerl and StrawberryPerl
Perl2Exe V22.00 for Windows is compatible with Perl
5.22.0 32-bit and 64-bit. ActivePerl and StrawberryPerl
Perl2Exe V16.00 for Windows is compatible with Perl
5.16.3 32-bit and 64-bit, and Perl 5.14.4 32-bit and 64-bit.
Perl2Exe V11.00 for Windows is compatible with Perl
5.12.4 32-bit and 64-bit, and Perl 5.14.2 32-bit and 64-bit.
Perl2Exe V10.40 for Windows is compatible with Perl 5.12.4, Perl
5.12.3, Perl 5.12.2, 5.12.1, Perl 5.10.1, Perl 5.8.9, Perl 5.6.1
Perl2Exe V10.30 for Windows is compatible with Perl 5.12.3, Perl
5.12.2, 5.12.1, Perl 5.10.1, Perl 5.8.9, Perl 5.6.1
Perl2Exe V10.10 for Windows is compatible with Perl 5.12.2, 5.12.1,
Perl 5.10.1, Perl 5.8.9, Perl 5.6.1
Perl2Exe V9.100 for Windows is compatible with Perl 5.10.0, Perl 5.8.8,
Perl 5.6.1 Perl 5.005.
Perl2Exe V8.82 for Windows is compatible with Perl 5.8.8, Perl 5.8.7,
Perl 5.6.1 Perl 5.005.
Perl2Exe V8.80 for Windows is compatible with Perl 5.8.8, Perl 5.8.7,
Perl 5.6.1 Perl 5.005.
Perl2Exe V8.70 for Windows is compatible with Perl 5.8.7, Perl 5.8.6,
Perl 5.6.1 Perl 5.005.
Perl2Exe V8.60 for Windows is compatible with Perl 5.8.6, Perl 5.8.4,
Perl 5.6.1 Perl 5.005.
Perl2Exe V7.01 for Windows is compatible with Perl 5.8.0, Perl 5.6 Perl
5.005.
Perl2Exe V7.01 for Unix is compatible with Perl 5.8.0.
Perl2Exe V5.xx for Windows is compatible with Perl 5.6 and Perl 5.005.
Perl2Exe V5.xx for Unix is compatible with Perl 5.6.
Perl2Exe for Perl 5.6 is compatible with Perl 5.6.
Perl2Exe for Perl 5.005 is compatible with ActiveState's build 522 and
other 5xx builds.
Perl2Exe for Perl 5.004 is compatible with "Perl 5.004_02" from CPAN,
which is
also called the standard build.
Perl2Exe for Perl 5.003 is compatible with "Perl, version 5.003_07,
Perl for Windows
Build 316".
Perl2Exe V1.xx for Unix is compatible with Perl 5.00503.
6. Perl2Exe performance
Programs created with Perl2Exe will run at about the
same speed as Perl scripts
run with the standard interpreter.
7. Using the glob function
Use the following code if your code uses the glob
function:
use File::DosGlob 'glob';
@flist = glob "*.*";
8. Using dbmopen
If your script contains a dbmopen function call, add the
following two lines to
your script.
use AnyDBM_File;
use SDBM_File;
For some systems you may need these lines instead:
use AnyDBM_File;
use NDBM_File;
use DB_File;
use SDBM_File;
9. Using the Tk library
If your script uses the Tk library it will be necessary
to add some additional
use statements to your main script. Build your executable in the normal
way, then when you run
the program, if you get a message like "Can't locate Tk/Entry.pm in
@INC", add "use Tk::Entry;" to your main script.
If you see a message that says something like:
Can't find 'boot_IO' symbol in C:\WINDOWS\TEMP/IO.dll
Run the command:
ren c:\perl\site\lib\auto\tk\io\io.dll io.dll.save
10. Creating an NT services
Perl2Exe can be used to create NT services. Use the
SRVANY utility program which
comes with Microsoft Resource Kit to start your executable as a
service. Configure
SRVANY to start in the directory where the executable is
located. You will probably
also need to use the -tiny option.
11. Extra Modules bundled with Perl2Exe for Unix
DBD::mysqlPP , DBI, HTML::Parser, libwww-perl,
Net::MySQL, URI
12. How to tell if the program is compiled with
perl2exe
# How to tell if the program is compiled with perl2exe
if ($^X =~ /(perl)|(perl\.exe)$/i) {
print "using perl interpreter\n";
}
else {
print "Program is compiled with perl2exe\n";
}
13.
How to find the directory
where the your application is
located.
# Next line is for Perl2Exe V5.02 and older
$0 = $^X unless ($^X =~ m%(^|[/\\])(perl)|(perl.exe)$%i);
my ($program_dir) = $0 =~ m%^(.*)[/\\]%;
$program_dir ||= ".";
print "program_dir = $program_dir\n";
14. Using DBD::mysql
Perl2Exe for Unix V7.00 or greater comes with the DBD::mysqlPP
module. We suggest that you use this mysqlPP module instead
of the mysql module. In your DBI open statement change
DBI:mysql to DBI:mysqlPP. Also add the following lines to
your script:
use DBD::mysqlPP;
use Carp::Heavy;
15. How to use DBI with Perl2Exe
1) Add the following lines to your script:
use DBI;
use DBD::mysql;
Replace mysql with whatever driver you use in your DBI open statement.
Do not use the #perl2exe_include statements.
16. Using DBD::Oracle
If your application uses DBD::Oracle the Oracle client software must also be installed on the target computer. DBD::mysql does not have this limitation.
17. Running multiple instances of your program
When you run the executable it will extract any loadable
modules that it uses, like
Socket.so, to a temp directory. These loadable modules are loaded into
memory later on.
When the program exits the temporary files are deleted.
This can fail in some circumstances.
1) If you have two instances running, one of them can delete the files before the other has had a chance to load them.
2) If the temp directory is not write-able the extract can fail. On Windows the temp directory is given by $ENV{'TEMP'} || $ENV{'TMP'} || $ENV{'WINDIR'} || "."; and on Unix it is "/tmp".
To avoid this problem, compile your script with the -tiny option. This will generate an executable and a number of dll or 'so' files. Copy the generated dll or so files and executable to the same directory as the executable.
18. How to debug a CGI script
Instead of running the CGI executable from a web server, test the CGI executable by running it from a DOS window on Windows, or a telnet console on Unix. This will allow you to see any error messages that may be being printed.
If you don't have telnet or console access to your server add this code to the top of your script:
BEGIN {
$| = 1;
open (STDERR, ">&STDOUT");
print "Content-type: text/html\n\n<pre>\n";
}
If you get a message like: "Can't locate loadable object for module ..."
Compile your script with the -tiny option. This will generate an executable and a number of dll or 'so' files. Copy the generated dll or so files and executable to the same directory as the executable.
19. Building modules on Solaris with GCC
Some versions of Perl2Exe for SunOS will default to using the
Solaris cc C
compiler for building modules. If you have GCC installed you
will need to
make the following changes to the Config.pm file which will be located
somewhere
like ~/perl2exe/perl5/lib/5.6.0/sun4-solaris:
cc='cc' -> cc='gcc'
ld='cc' -> ld='gcc'
cccdlflags='-KPIC' -> cccdlflags=''
20. How to create icons for Perl2exe
You can create your icons with IconForge from www.cursorarts.com or Microsoft DevStudio.
For IconForge install the software and follow the directions below.
1) Go to the "File" menu and choose "New";
2) Choose "New Multi-resolution Icon" from the fly-out list;
3) This will open a small window which will hold the various icon sizes
which
you want to place inside the main icon. Click the green "+" button,
and choose a size of "16x16" with "16 colors";
4) A small blank icon will be added to the window. Double-click this to
paint
this icon;
5) Once you have finished your icon, File/Save it back into the
Multi-resolution
Icon window;
6) Click the green "+" button to add another icon, and choose a size
of "32x32" with "16 colors";
7) This will add a larger icon to the window. Click your completed
smaller icon
to highlight it, then click the "Duplicate" button (has a blue circle
icon) to copy your smaller icon into the blank larger frame. You can
then
further edit the larger icon if you wish;
8) Once you have finished editing, go to the "File" menu and select
"Save As" from the list. Assign a name for the new icon, using the .ICO
File Type.
Save the icon in the same directory as your script.
For DevStudio follow the directions below.
1. Click on File, New
2. Click on Files then 'Icon File'
3. Draw the 32x32 portion of your icon
3. Click Image then 'New Device Image'
4. Click on 'Small (16x16)' then OK
5. Draw the 16x16 [portion of your icon
6. Click on File, 'SaveAs' to save
your icon file
Save the icon in the same directory as your script.
After saving the icon, open a dos window, and type in the following:
perl2exe -icon=youricon.ico yourscript.pl
21. Stripping comment lines
Perl2Exe will remove all lines from scripts that start
with the '#' character. If this a problem, you can override
this behavior by using
the -noopt option. The -noopt option will disable the
stripping for all source files. Do disable it for selective
files only use the
#perl2exe_noopt pragma. Example:
#perl2exe_noopt Foo
or
#perl2exe_noopt "Foo.pm"
or
#perl2exe_noopt "bar.pl"
Windows versions:
Any 32 bit or 64-bit Windows system. including Windows
NT/2000/ME/XP/2003,Vista, Windows 7, Windows 8, Wndows 10 etc
Unix versions:
Solaris, Linux, etc, or any 32 or 64 bit Windows system.
Unzip the installation file to c:\
This will create a subdirectory like perl2exe-26.00-Win
If you have a registration key for Perl2Exe, start perl2exe
with the command:
perl2exe -register
This option allow you to enter registration information for Perl2Exe. You will be prompted for a registration key.
Extract Perl2Exe for Linux, Solaris, AIX, etc into the installation directrory.
For Windows, extract Perl2Exe for Windows. This will create
a directory like the following:
~/perl2exe-Linux-5.14.2/perl2exe-11.00-Win
Copy the perl directory from c:\perl on your Windows machine
to one of the following directories depending on your version of Perl:
~/perl2exe-Linux-5.14.2/perl2exe-11.00-Win/Win32-5.12.4/perl-Win32/perl-Win32
~/perl2exe-Linux-5.14.2/perl2exe-11.00-Win/Win32-5.14.2/perl-Win32
~/perl2exe-Linux-5.14.2/perl2exe-11.00-Win/Win64-5.12.4/perl-Win64
~/perl2exe-Linux-5.14.2/perl2exe-11.00-Win/Win64-5.14.2/perl-Win64
V30.10B Mar 19 2020
Bugfix: use Math::BigInt error message
Couldn't load any math lib(s)...
V30.10 Dec 28 2019
Support for Perl 5.30.*
Bugfix: better support for fetching https url's
Add c\bin to search directory list
V26.10C Jun 6 2019
Bugfix: lwpsamp.exe does nothing if PATH is not set
V26.10B Oct 22 2018
Bugfix: perl2exe_info properties are incorrectly displayed
Bugfix: Maximum number of bundled files increased to 500 from 100
V26.10 Feb 7 2018
Added support for Perl 5.26.x 64-bit
Supports the following platforms:
Windows 64-bit
MacOSX 64-bit
Linux for intel/amd 64-bit
Linux for Raspberry Pi
V24.10 Nov 26 2015
Added support for Perl 5.24.0 and Perl 5.24.1 64-bit
Fixes problems with socket io in release 22.00
V22.00 Nov 26 2015
Added support for Perl 5.22.0 32-bit and 64-bit
Supports ActivePerl and StrawberryPerl
Option -I can also be specified multiple time. Allowed formats -I<dir_list> -I=<dir_list>
V16.00 May 28 2013
Added support for Perl 5.16.3 and Perl 5.14.4
V11.00 Jun 8 2012
Added support for Perl 5.14.2
Each distribution now extracts to a platform specific directory, e.g.
./perl2exe-Linux-5.14.2 or perl2exe-11.00-Win
Cross platform intallation files can be installed in subdirectories.
This allows any number of cross-platform targets
V10.40A Oct 3 2011
Bugfix: options -small and -tiny produce error p2x513.dll not
found
V10.40 Jun 25 2011
Added support for Perl 5.12.4
Windows build includes libraries for Perl 5.12.4, 5.12.3, 5.12.2,
5.12.1, 5.10.1, 5.8.9, 5.6.1
Bugfix for Perl 5.6.1 - "P2X IO ERROR 1" of call to close
V10.10 Nov 28 2010
Added support for Perl 5.12.2
Windows build includes new libraries for Perl 5.12.2, 5.12.1, 5.10.1,
5.8.9, 5.6.1
Fixes apply to all libraries
perl2exe_info pragma support added to all libraries
Support for signed executables
Support for multiple dll's with duplicate names
perl2exe_bundle pragma supports filenames with any extension
V9.110.00 Dec 5 2009
Added support for Perl 5.10.1
V9.100 Jan 15 2008
Added support for Perl 5.10.0
V8.82 Aug 21 2007
Added support for Perl 5.8.8 build 822
V8.80 Apr 8 2006
Added support for Perl 5.8.8
V8.70 Aug 17 2005
Added support for Perl 5.8.7
V8.60 Feb 13 2005
Added support for Perl 5.8.6
Fixed: Loading of modules fails on some systems where directory path
starts with '\\?\'
Fixed: Large bundled Files use a lot of memory when extracted
Fixed: Characters in Tk applications display as blobs
Fixed: -icon option does not work for Perl 5.8.3
Fixed: p2xtmp-$$ is not removed for Tk applications
Module versions updated
V8.40 Jun 29 2004
Added support for Perl 5.8.4
Added version info (file properties) support for Windows
Use a unique temp directory for every instance
Version number in setup_perl2exe.pl is wrong
Add support for Perl 5.8.0, remove support for Perl 5.8.3
After reinstalling DBI on Linux says DBO.so version does not match
Building a module (.e.g DBI) tries to install man pages into system
directory
Unix versions built with multithread support
V8.10 Feb 16 2004
Added support for Perl 5.8.3
V8.00 Jan 1 2004
Added support for Perl 5.8.2
Generated Windows executables are now up to 50% smaller
Fixed: Application sometimes crashs if PERL5LIB is set
Fixed: CGI executable hangs under Apace in trial mode.
Tiny executable fails if temp directory contains a left over DLLs from
a different version of Perl2Exe.
Added .txt, .ico and .png to list of files which can be bundled
V7.02 Oct 18 2003
Fixes some errors in handling of unicode
Fixed: use Switch causes a crash
Fixed: use Net::LDAP causes a crash - added support for seek on the
DATA filehandle
Fixed: Building Windows code on Unix says "ERROR: Unsupported perl
version 5.008"
Fixed: Reading DATA causes a crash
Fixed: Reading END causes a crash
Fixed: DBD::mysqlPP treats literl '?' as placeholder
DBD::mysqlPP version upgraded to 0.04 from 0.03
Fixed: suid application crashes
V7.01 July 4 2003
Updated setup_perl.pl to fix problems with building Perl modules
MacOSX build supports threading
V7.00 Dec 21 2002
Support for Perl 5.8.0
Updated module list
Fixed: Unix Perl interpreter print a newline and 2 second delay
Fixed: Windows version requires that scripts have an extension
Fixed: Crashes if we read DATA
Fixed: Reading data after __END__ fails with GP fault.
Fixed: Crashes if last statement does not end with ';'
Added Modules DBI, DBD::mysqlPP
V5.03-Win32 Oct 27, 2001
Several improvements to the parser to allow handling of wider range of
use and
require statements.
Output messages use \ on Win32 and / on Unix.
Add "zip" to the list of files which can be extracted.
Logic for searching for Dll's improved to handle dll's in current
directory.
use FindBin; print "$FindBin::Bin"; now works.
Code starting with with '#' in main script is not stripped.
perl2exe-Win32.ini fixed to allow Perl2Exe for Unix to detect correct
Perl
version
Print warning if icon file size is wrong.
More flexible icon file format - can be any size as long as it contains
23x23 and 16x16 icon in any order
V5.02-Unix June 24, 2001
Added support for Perl 5.6.1 for Unix versions
V5.01-Win32 June 3, 2001
Added support for Perl 5.6.1
V5.00-Unix Feb 24, 2001
V5.00-Win32 Feb 24, 2001
Supports building Win32 executables on Unix machines.
Win32 version supports Perl 5.6 and Perl 5.005_03 in the same version.
Rebuild with newer Perl 5.6 files should fix some cases of system and
backtick
commands
Will print an error message if temp files cannot be extracted to a
temporary directory, e.g. directory is read-only.
Fixed: -tiny option fails unless dlls are in current directory
This version will only accept registration keys that are less than one
year old,
if you have an older license you will need to order an upgrade.
V1.09-Unix Jan 05, 2001
Fixed: use Compress::Zlib fails with "Can't locate
auto/Compress/Zlib/autosplit.ix
in @INC..."
Linux version rebuilt without linking libdb and libgdbm
Fixed algorithm for searching for loadable modules - affects user built
modules
like DBI and for module Dumper.
Executables are stripped to make them smaller
V4.03-Win32 Oct 30, 2000
Fixed: exe GP fault if current directory is perl or perl\bin
Fixed "Can't locate File/Spec/Win32.pm" error when using File::Spec;
Autoinclude LWP/Protocol/https.pm if using Crypt/SSLeay.pm
V4.02-Win32 Aug 29, 2000
Rebuilt with latest perl 5.6 source
V4.01-Win32 July 15, 2000
Fixes a bug with the exec function
The variable $ENV{'sourceExe'} is no longer available
V1.08-Unix May 19, 2000
Improved Tk support for mdules that use xbm and xpm files
Perl2Exe will automatically include most xbm and xpm files.
Suid scripts will work
Smaller stripped binary executable.
V4.00-Win32 May 19, 2000
Support for Perl 5.6
V3.13-Win32 May 19, 2000
The -p2x_xbm option is no longer used
Perl2Exe will autoinclude most xbm and xpm files.
V3.12b-AP5XX Dec 16,1999
Fixed: GUI programs started hidden when using system or back-ticks
V1.07-Unix Dec 29, 1999
Executable will also search the current directory for system .so files.
Added -libdb and -libgdbm options
Fixed: Cgi failed to run on Solaris with Netscape server and cgiwrap
(SunOS)
Added support for AIX
Added support for FreeBSD
Fixed: BSDOS executables not working as cgi
Fixed: Using Mail::SendMail with libc=5 causes a fault when program
exits (Linux5)
V1.06-Unix Nov 11 ,1999
Fixed GP fault which affects some modules containing __END__
Added the libnet module
Fixed: glob function was not working on SunOS and IRIX
V3.12-AP5XX Nov 10 ,1999
Fixed the crypt function
Tested with Perl build 522
Minor documentation updates
V1.05-Unix Oct 12 ,1999
Perl2Exe for Unix rebuilt with Perl 5.00503
Added support for SunOS Linux, HP-UX, BSDOS and IRIX
V1.04-Unix Sep 10 ,1999
Release for each platform is now standalone and includes the Perl
libraries
V3.11-AP5XX Aug 8,1999
Support for Build 518
Fixed: missing function Win32::CopyFile error
Fixed: returning a scalar from inside a for loop produces an undef
result
Handling of these statements: require "cgi-lib.pl"; use File::DosGlob
'glob';
use CGI qw(:cgi);
Handle the use lib 'somepath'; statement
Handle #!perl -options
V3.10-AP5XX July 22,1999
Fixed an intermittent failure with opendir with a UNC path
Files like Tk.dll, Win32/process.dll, tk\autosplit.ix were not compiled
into executable
when using PRK
Fixed syntax error in CGi.pm
V3.09-AP5XX June 19,1999
Fixes the following error with Tk programs 'couldn't read file
"PERL2EXE_STORAGE/Tk/minus.xpm"'
Fixes GP fault on exit with -gui switch in trial mode.
Executables no longer require PerlCRT.dll if the script does not
require the Socket
module.
Can now handle requires containing a full path like: require
'c:\mylibrary\foo.pl';
The -gui option now generates an executable that no longer requires the
pxdll.dll
V1.03-Unix May 15,1999
Add Tk library to Solaris binary
Fixed error in registration key handling code
V3.08-AP5XX May 05,1999
Fixes to support the following newer modules CGI.pm ,LWP::UserAgent,
and Tk
- fixes tksamp.pl lwpsamp.pl
V3.07-AP5XX April 22,1999
Now supports Perl 5.005_03 (build 515 etc)
V1.02-Unix April 18,1999
Support for libc5 based Linux machines (Slackware and Caldera)
V1.01-Unix April 14,1999
Fixes a divid by zero error when running Perl2Exe
V1.00-Unix Mar 21,1999
Initial release
V3.06-AP5xx Mar 12,1999
Fixed: LWP and Socket functions not working if -gui option used
Updated documentation
V3.05-STD Mar 12, 1999
Updated documentaion
V2.19-316 Mar 12, 1999
Updated documentaion
V3.04B-STD Jan 19, 1999
Now supports the Lite registration key
V3.05-AP5xx Jan 10, 1999
Fixed: command line parameters containing quoted spaces incorrectly
handled with -gui
option
Fixed: Crypt function was not implemented
Added -icon option
Search additional library directories to support PRK build 509
Fixed problem with -e -d on sharenames
V3.04-STD Dec 10, 1998
Generates smaller executables
No longer requires CW3220MT.DLL
V3.04-AP507 Dec 10, 1998
Generates smaller executables
Xbm option documented
Tested with Perl Build 507
V3.03-AP506 Nov 15, 1998
Bug fix: file io when the -gui option is used now working correctly.
perloptions can be set from an environment variable.
Perl2Exe will search for library modules based on path and on PERL5LIB
environment
variables
V3.03-STD Nov 15, 1998
Bug fix: system and backtick functions now work when -gui is not used.
perloptions can be set from an environment variable.
Perl2Exe will search for library modules based on path and on PERL5LIB
environment
variables
V3.02-AP506 Nov 8, 1998
Perl2Exe will now find modules in build 506 (and 502) directory
structure
Look for modules in directories below . and ./lib
Fixed: Use POSIX correctly handled
Fixed: Missing re.pm, used by File::Basename
Exe extract feature added
Default perloptions is now 'none'
V3.01-AP502 Sep 07, 1998
Added odbc sample code - cleaned up other samples
Automatically compiles IO if IO::Socket is used
Automatically compiles modules required by LWP::UserAgent
Fixed: close function sometimes fails with -gui option
V3.00-AP502 Sep 02, 1998
Rebuilt to use perlcrt.dll, this fixes socket problems and supports LWP
module
Fixed: Library modules in current directory not compiled
gui option will now say p2xdll.dll is required
Fixed: GUI exe will display a message if p2xdll.dll is missing or
incorrect version
V2.21-AP502 Aug 18, 1998
Initial release of Perl2Exe for ActivePerl
V2.20-STD July 11,1998
Bug fix to remove Invalid argument -p2x_xx message
Standard version now uses same registration key as ActiveState version.
V2.19-STD July 5,1998
Second release of the Standard version of Perl2Exe for Perl 5.004
Added -gui option for creating no-console executables
V2.18-STD May 14,1998
Initial release of the Standard version of Perl2Exe for Perl 5.004
V2.17-316 Mar 21, 1998
Rebuild for Perl Perl 5.003_07 Build 316
Bug fix: Get runtime error when modifying an environment variable
Bug fix: wildcards not expanded on command line arguments
Bug fix: Exe fails if filename is mixed case, eg "perl2exe Sample"
Bug Fix: Some system calls not working (see notes)
Documentation: dbmopen requires the addition of use AnyDBM_File; use
SDBM_File;
V2.16.2-315 Feb 25,1998
Fixed bug where $foo = <IN> would cause runtime error
with -small option
V2.16-315 Feb 9,1998
Enhancements to the -small option
Added -tiny option
V2.15-315 Feb 7,1998
Rebuild for Perl Perl 5.003_07 Build 315
V2.14-313 Feb 1,98
Introduced Pro and Lite versions of Perl2Exe
Added -small option
Removed need for special dynaloader.pm file
V2.13-313 Jan 1,98
Fixed serious error which sometimes causes a GP fault when running
generated exe from NT
command line, or a "parse exception" when run from IIS.
V2.12-313 Dec 4,97
Rebuild for Perl Perl 5.003_07 Build 313
Handle require "foobar.pl"; syntax
Handle conflict between Socket and IO::Socket
Socket i/o now works.
V2.11-310 Nov 5,97
Minor documentation cleanup.
Handle "use foobar;" where there is a double space between use and
foobar.
V2.11 Oct 16,97
Fixed error when exe containing dynamically loaded modules files is
executed as a cgi
script.
Print error message if Dynaloader.pm is missing from Perl2Exe directory
V2.10 Oct 13,97
Rebuild for Perl Perl 5.003_07 Build 310
Documentation is now in HTML.
Misleading error message references to temp directory cleaned up
Standalone improvements. Exe file can now be tested on PC, even if Perl
is installed on
it.
V2.04
Base line version for Perl 5.003_07 Build 306
V1.0
Original version
We'd like to hear your questions and comments!
Contact Information: http://www.indigostar.com/contact.php
Web: http://www.indigostar.com
For ordering information please visit our Web site.
You should carefully read the following terms and conditions before using this software. Unless you have a different license agreement signed by IndigoSTAR Software, your use of this software indicates your acceptance of this license agreement and warranty.
Registered Version
Each registered copy of Perl2Exe may be used at a single workstation to create an unlimited number of exe files, subject to the following conditions:
* A separate registered copy of Perl2Exe must be obtained for each workstation on which Perl2Exe will be used even if such use is only temporary. This is not a "concurrent use" license.
* Exe files created by Perl2Exe are shipped with Run-time portions of Perl2Exe. No registered user, nor anyone else, may alter or modify the generated Exe files. You cannot give anyone else permission to modify the Exe files.
* Exe files generated by the registered version of Perl2exe may be freely distributed.
All rights not expressly granted in this license agreement are reserved entirely to IndigoSTAR Software
Governing Law
This agreement shall be governed by the laws of the Province of Ontario, Canada.
Limited Warranty
IndigoSTAR Software represents and warrants that the software
and accompanying files will operate and function as documented, and
that IndigoSTAR has full and sufficient right, title and authority to
assign or grant the rights and/or licenses granted under this License
Agreement. IndigoSTAR further warrants that neither the Software nor
accompanying files infringe any intellectual property rights or similar
rights of any 3rd party and agrees to indemnify you for any loss or
damage related to a claim of infringement.
Except for these limited warranties, this software and the accompanying
files are sold "as is" and without warranties as to performance of
merchantability or any other warranties whether expressed or implied.
Because of the various hardware and software environments into which
Perl2Exe may be put, NO WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE IS
OFFERED. Good data processing procedure dictates that any program be
thoroughly tested with non-critical data before relying on it. The user
must assume the entire risk of using the program. Except for claims
based on breach of the limited warranties or the indemnity provided
above, the liability of either party for claims arising under this
Agreement will be limited exclusively to the amount of fees paid under
this agreement.
Shareware Version
You are hereby licensed to use the shareware evaluation version of Perl2Exe for evaluation purposes without charge for a period of 30 days. This is not free software. If you use this software after the 30 day evaluation period a registration fee is required. Under no circumstances are you licensed to distribute Exe files created by the shareware evaluation version of Perl2Exe. Unregistered use of Perl2Exe after the 30 day evaluation period is in violation of copyright laws.
Distribution of Perl2Exe
You are hereby licensed to make as many copies of the shareware evaluation version of this software and documentation as you wish; give exact copies of the original shareware version to anyone; and distribute the shareware version of the software and documentation in its unmodified form via electronic means. There is no charge for any of the above.
You are specifically prohibited from charging, or requesting donations, for any such copies, however made; and from distributing the software and/or documentation with other products (commercial or otherwise) without prior written permission, with one exception: Disk Vendors approved by the Association of Shareware Professionals are permitted to redistribute Perl2Exe subject to the conditions in this license, without specific written permission.