You are reading: README.TXT --------------------------- This file gives an overview of Windows NT Perl 5 Version 5.001, July 1995. It includes the following: Conditions for use of Windows NT Perl 5 Acknowledgements Platforms Supported System Requirements Differences between/additions to the UNIX version Listing of other documents in this Kit Submit comments and feedback on Windows NT Perl 5 Where to get more information For information on installing Windows NT Perl 5, please refer to the file "INSTALL.TXT". To see what has been included in this release of Windows NT Perl 5, please see the file "RELEASE.TXT". Windows 95 users, be sure to check "WIN95.TXT". The entire Perl 5 manual can be viewed with your WWW browser of choice (i.e. Netscape) by opening the file "NTPERL5.HTM" in the `html-docs' directory. The release version of Windows NT Perl 5 will be available from from ftp://ftp.microsoft.com/ [TBD: subdir, please?] "Windows NT" is a registered trademark of Microsoft Corporation. ----------------------------------------------------------------------------- Conditions for use of WINDOWS NT Perl 5 ======================================= Windows NT Perl 5 Kit, Version 5.001 Portions (C) 1995 Microsoft Corporation. All rights reserved. Developed by hip communications inc., http://info.hip.com/info/ This program is free software; you can redistribute it and/or modify it under the terms of either: a) the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version, or b) the "Artistic License" included in this kit. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See either the GNU General Public License or the Artistic License for more details. You should have received a copy of the Artistic License with this Kit, in the file named "LICENSE.txt". If not, we'll be glad to provide one. You should also have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. For those of you that choose to use the GNU General Public License, our interpretation of the GNU General Public License is that no Perl script falls under the terms of the GPL unless you explicitly put said script under the terms of the GPL yourself. Furthermore, any object code linked with perl does not automatically fall under the terms of the GPL, provided such object code only adds definitions of subroutines and variables, and does not otherwise impair the resulting interpreter from executing any standard Perl script. We consider linking in C subroutines in this manner to be the moral equivalent of defining subroutines in the Perl language itself. You may sell such an object file as proprietary provided that you provide or offer to provide the Perl source, as specified by the GNU General Public License. (This is merely an alternate way of specifying input to the program.) You may also sell a binary produced by the dumping of a running Perl script that belongs to you, provided that you provide or offer to provide the Perl source as specified by the GPL. (The fact that a Perl interpreter and your code are in the same binary file is, in this case, a form of mere aggregation.) This is our interpretation of the GPL. If you still have concerns or difficulties understanding our intent, feel free to contact us. Of course, the Artistic License spells all this out for your protection, so you may prefer to use that. ----------------------------------------------------------------------------- Acknowledgments =============== Thanks to Larry Wall for making this possible. Clark Williams from Intergraph and Dean Troyer from Honeywell for their work on porting Perl 4 to Windows NT, and their help in this port. Windows NT Perl 5 Team: Dick Hardt, Doug Lankshear, Greg Lypowy, Wei-Yuen Tan. ----------------------------------------------------------------------------- Platforms supported =================== Windows NT Perl 5 is currently available as a compiled binary for the following platforms: Intel 80x86 MIPS The source code should compile on any platform supported by Windows NT. ----------------------------------------------------------------------------- System Requirements =================== To run Windows NT Perl 5, you will need a computer running Windows NT Workstation 3.5 or Advanced Server 3.5 or later, with at least 2 MB of disk space free. If you plan on building from the source, the amount of disk space required increases to at least 10 MB. Windows NT Perl 5 has been built using Microsoft Visual C++ version 2.0. The source release of Windows NT Perl 5 includes the source files and test scripts. There is also a makefile for building Windows NT Perl 5 from the SDK. ----------------------------------------------------------------------------- Differences between/additions to the UNIX distribution ====================================================== This port of Windows NT Perl 5 is based upon the UNIX distribution of Perl 5. Any modifications made to the UNIX distribution will be submitted to the UNIX porting team so that they may be included when their next port is released. Perl scripts written under UNIX terminate lines with a line feed. Windows NT, however, terminates text lines with two characters: a carriage return AND a line feed. Be warned: if you are moving Perl scripts over to your Windows NT machine from UNIX, you may have some reformatting to do! Since not all of the functions from the UNIX version of Perl 5 have analogs in the Windows NT realm, we've left some unimplemented! A list of all functions NOT implemented in this release can be found in either "STATUS.TXT" or "STATUS.HTM". ----------------------------------------------------------------------------- Listing of other documents: =========================== INSTALL.txt Instructions for installing Windows NT Perl 5 LICENSE.txt The GNU "General Public License" and "Artistic License" MANIFEST.txt File list for this release of Windows NT Perl 5 NTPERL5.htm First page of Windows NT Perl 5 HTML documentation, including the original Perl 5 Manual Pages, and our extensions to Perl 5. This file and the rest of the HTML pages are located in the `html-doc' subdirectory. RELEASE.txt Windows NT Perl 5 revision history, changes since last release, and plans for future releases. STATUS.txt List of unsupported functions and features. ----------------------------------------------------------------------------- Submitting comments and feedback on Windows NT Perl 5 ===================================================== All questions, comments, and feedback can be sent to ntperl_comments@hip.com, or to the ntperl discussion list (see below for information on how to subscribe). Bug reports can be entered through our online bug reporting facility on the World Wide Web at http://info.hip.com/ntperl/bugreport.html. For those of you with no WWW access, they can be sent to ntperl_bugs@hip.com. ----------------------------------------------------------------------------- Where to get more info ====================== By Mail: ~~~~~~~~ If you are interested in the latest news on Windows NT Perl 5, we have set up two majordomo lists: ntperl - discussion list send mail to: majordomo@mail.hip.com with: subscribe ntperl as the message body ntperl_announce - announcements send mail to: majordomo@mail.hip.com with: subscribe ntperl_announce as the message body In print: ~~~~~~~~~ There are two good books by O'Reilly & Associates, Inc. about Perl: "Learning Perl", and "Programming Perl", both by Randal Schwartz and Larry Wall. By Usenet Newsgroups: ~~~~~~~~~~~~~~~~~~~~~ The Usenet newsgroup comp.lang.perl is your best place to get help on Perl, although it is soon to be depreciated in use, to be replaced by comp.lang.perl.announce and comp.lang.perl.misc. On the World Wide Web: ~~~~~~~~~~~~~~~~~~~~~~ Perl Meta-FAQ (http://www.khoros.unm.edu/staff/neilb/perl/metaFAQ/metaFAQ.html) Perl5 Information, Announcements, and Discussion (http://www.metronet.com/perlinfo/perl5.html) PERL Man pages (http://www.metronet.com/0/perlinfo/perl5/manual/perl.html) Perl reference materials (http://www.eecs.nwu.edu/perl/perl.html) UF/NA Perl Archive (http://www.cis.ufl.edu:80/perl/) Via FTP: ~~~~~~~~ ftp://ftp.microsoft.com/[TBD: subdir please?]/ ftp://ftp.khoros.unm.edu/pub/perl/ ftp://perl.com/pub/perl/ ftp://ftp.cis.ufl.edu/pub/perl/ ftp://ftp.cs.ruu.nl/pub/PERL/ ftp://ftp.funet.fi/pub/languages/perl/ports/ ftp://ftp.khoros.unm.edu/pub/perl/ ftp://src.doc.ic.ac.uk/packages/perl5/ ----------------------------------------------------------------------------- You are reading: RELEASE.TXT ---------------------------- ------------------------------- Version 5.001l.NT.090 ------------------------------- Changes ------- Additional eventlog and security support added by Dean Troyer ( Dean.Troyer@AZ.Honeywell.com ) NOTE: These are untested and unsupported. - Added a Winsock.pm module which pulls in all winsock.h preprocessor constants. Equiv to socket.pm for unix boxes Bugs Fixed ---------- - Fixed Problems ( due to differences in console I/O model between UNIX and nt) in debugger. - fixed problem with accept() when compiled with /D "USE_SOCKET_AS_HANDLES". - System no longer calls executable twice in some cases - Rename now overwrites existing file ( as stated in camel ). - Case handling error on file names fixed. - Socket function 'accept' fixed for file handles - Socket function 'select' fixed for file handles Thanks to Vincent R. Slyngstad (vrs@ibeam.intel.com) - Fixed bug with system, exit value of called process is now stored in $?. Known Issues ------------ - install script does not work under Windows 95. See "WIN95.TXT". - See this section for previous release. Known Bugs ---------- - No new bugs specific to the NT port. ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~- ------------------------------- Version 5.001l, Release a ------------------------------- Changes ------- - none Bugs Fixed ---------- - fixed problem with accept() when compiled with /D "USE_SOCKET_AS_HANDLES". Known Issues ------------ - install script does not work under Windows 95. See "WIN95.TXT". - See this section for previous release. Known Bugs ---------- - No new bugs specific to the NT port. ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~- ------------------------------- Version 5.001 Release ------------------------------- Changes ------- -none Bugs Fixed ---------- - none Known Issues ------------ - Unicode characters are not supported for extensions to the Windows NT Registry. Thanks to Dean Troyer at Honeywell for pointing this out. - OCX's will not be supported in this version. - Environment variables referenced through %ENV are case sensitive from Perl, but Windows NT is not. Environment variables need to be accessed in the same case that they appear in the shell. - the code to support the use of sockets as file handles (print to socket) is in the source code, but not compiled into the binary release. Defining USE_SOCKET_AS_HANDLES and recompiling will include this functionality - note this will hang under Windows 95 because the osf* routines are not implemented in Windows 95 currently. Known Bugs ---------- - getops: apparently this is a bug in the unix Perl distribution. There was some discussion on comp.lang.perl about getopts consistently dumping core on both HP/UX 10.0 and DEC OSF/1 3.2. This is not one that we will undertake to fix ourselves. ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~- ------------------------------- Version 5.001 Release Candidate ------------------------------- Changes ------- - none Bugs Fixed ---------- - use of COMSPEC to determine shell to run - exec with redirection - OLE Auto glitch in Word Known Issues ------------ - OCX's will not be supported in this version. - Environment variables referenced through %ENV are case sensitive from Perl, but Windows NT is not. Environment variables need to be accessed in the same case that they appear in the shell. - the code to support the use of sockets as file handles (print to socket) is in the source code, but not compiled into the binary release. Defining USE_SOCKET_AS_HANDLES and recompiling will include this functionality - note this will hang under Windows 95 because the osf* routines are not implemented in Windows 95 currently. Known Bugs ---------- - there have been reports that getopts does not work - we have not been able to duplicate this bug ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~- -------------------- Version 5.001 BETA 4 -------------------- Changes ------- Bugs Fixed ---------- - apparently those who encountered problems with getopts.pl are no longer having any trouble after upgrading to NT 3.51 - install script couldn't create 'bin' directory. - refixed code that was broken by Clark Williams' patches to system/exec/``. Known Issues ------------ - OCX's still not supported (in the works). Known Bugs ---------- - OLE not quite as stable as we thought, - system() will not save exit status in $?, probably due to lack of fork() in NT. Working on it. ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~- -------------------- Version 5.001 BETA 3 -------------------- Changes ------- - makefile for building Windows NT Perl using SDK - most filenames shortened to 8.3 for ease of distribution OLE Extensions and library names are the main exceptions - Multiple PROG_IDs handled in OLE Type Libraries - added some OLE functions so that unregistered Dispatch Interfaces can be accessed - revised NTOLE.htm to reflect above additions - included UN*X Distribution Unofficial Patches a-i Bugs Fixed ---------- - _aspawn now preserves environment variables - op/magic.ntt test #1 now succeeds thanks to Clark Williams at Intergraph for fixing that bug - fixed op/ref.ntt test to match UN*X test - op/reff.ntt tests all succeed thanks to Wei-Yuen for introducing that bug ;-) Known Issues ------------ - Perl OLE Extensions shipped with the kit have long filenames must use 32 bit unzip or rename files - Unregistered OLE Automation Dispatch Interfaces must be accessed with low level routines - OCXes are not officially supported (we have not tested any) Known Bugs ---------- - DDE Application error (causes GPF), after requiring and utilizing getopts.pl. We have not been able to replicate the bug. ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~- -------------------- Version 5.001 BETA 2 -------------------- Things missing that should be in the next release: -------------------------------------------------- - DispCalc sample application - Example script for OLE Automation - Test script for OLE Automation - makefile for building Windows NT Perl using SDK Changes ------- - OLE Automation docs and extensions added - OLE Extensions now perform late binding - PerlGlob.mak and PerlGlob.c added to kit Bugs Fixed ---------- - PerlGlob was not included in the first release - file globbing did not work - EventLog functions fixed - System sometimes executed twice Known Issues ------------ - Aftermarket shells need to be compatible with cmd.exe Known Bugs ---------- - test op/magic.ntt #1 fails - _aspawn does not preserve environment variables - test op/ref.ntt #36 & #37 fail - ref bug - in UNIX Distribution ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~- -------------------- Version 5.001 BETA 1 -------------------- Things missing that should be in the next release: - OLE automation is not supported yet. Use at your own risk. You get to keep both pieces if it breaks. - Comprehensive documentation for the Windows Registry interface, OLE Automation and Event Logging is not yet available, and will be released ASAP. Differences between Windows NT Perl 5 and Intergraph Perl 4 for NT ------------------------------------------------------------------ The Windows NT Perl 5 interface to the registration database is essentially the same as that implemented in Intergraph's port of Perl 4 to Windows NT, with some minor semantic differences. - All NT extensions to Perl 5 now begin with 'NT', e.g. RegDeleteKey in Perl 4 is now named NTRegDeleteKey. - One does not need to invoke the routine with the preceeding ampersand (&), since all routines are built directly into Perl 5. - C macros now follow the usual h2ph convention of being defined as perl subroutines. E.g.: in Intergraph NT Perl 4 $HKEY_CLASSES_ROOT = 0x80000000 in Windows NT Perl 5 sub HKEY_CLASSES_ROOT {( 0x80000000 );} To use the macros, one now types '&HKEY_CLASSES_ROOT' instead '$HKEY_CLASSES_ROOT' Known Bugs ---------- - Sockets are supported in this release of Windows NT Perl 5, but as of now they cannot be treated as normal UNIX file handles. You must use an explicit send() or recv() on sockets, you cannot use print() or printf() or the <> operators on sockets to perform I/O operations. This will hopefully be corrected within the next release. - modifying the %ENV hash does not affect the environment passed to shell commands executed using the backtick (`) operator. Hopefully this will be corrected in the next release. - several functions that are not supported on NT do not spit out a warning message, this requires changes to the Unix Distribution Perl code. A mechanism for warning about use of unsupported functions during compilation of a script is being explored. - Compilation of perly.c generates a warning message on parameter lists. This is a bug in the UNIX Distribution. - References in OO - code sometimes fail. We haven't been able to isolate the bug. - This release of Windows NT Perl 5 is based on the Perl 5.001 UNIX Distribution. There are several known bugs in this code - we will upgrade to 5.002 when it is available.