			       "BIGPERL"
			  Perl 5.0 patchlevel 0
		**** WARNING: THIS IS BETA SOFTWARE *****
			    October 27, 1994
	      By Darryl Okahata (Internet: darrylo@sr.hp.com)
			(Compuserve: 75206,3074)


     This version of Perl 5.0 has been compiled using the WATCOM
C/C++^32 compiler, version 10.0A, which generates flat, 32-bit code that
runs under MSDOS and Windows (with some limitations -- see below).

************
* WARNING! *
************
     THIS IS BETA SOFTWARE!  I haven't tested much of Perl 5, although
     the perl.exe binary does pass most of the regression tests.  Those
     that do not pass are mostly attributable to differences between
     MSDOS and Unix.  In particular, quoted Unix command lines (e.g.,
     './perl -e "print \"foo\n\""') are often the cause of regression
     test failure.

*************
* IMPORTANT *
*************
     The basic Perl sources belong to:
	    Copyright (c) 1989,1990,1991,1992,1993,1994  Larry Wall
			    All rights reserved.

     Most of the MSDOS portions belong to:
		Copyright (c) 1987, 1988, 1990 Diomidis Spinellis.
			  All rights reserved.

     The MSDOS unix-like file globbing routines belong to:
		Copyright (c) 1990, 1991, 1992 Data Logic Limited
			  All rights reserved.
		Contact is Ian Stewartson (istewart@datlog.co.uk)
			Data Logic Limited, Queens House,
			Kymberley Road, Harrow, Middlesex, HA1 1YR. UK

     The changes specific to MSDOS and WATCOM C/C++^32 belong to:
		Copyright (c) 1993, 1994, Darryl Okahata
			  All rights reserved.

     The 32-bit DOS extender, "DOS/4GW", belongs to Rational Systems, Inc:
		Copyright (c) 1990-1994 Rational Systems, Inc.
	This DOS extender may be redistributed as part of a program
	compiled with WATCOM C/386.  It may not be redistributed as a
	separate, standalone entity.

     The Windows numeric coprocessor support library, "wemu387.386",
	belongs to WATCOM Systems, Inc., and can, basically, be
	distributed only as a part of a program compiled using WATCOM
	C/386 (see the WATCOM C/C++^32 licensing agreement for the exact
	details):
		Copyright (c) 1991-1994 WATCOM Systems, Inc.

-------------------------------------------------------------------------------
The basic Perl sources can be redistributed under the following conditions:

[ The following was taken from the "README" file.  Here, "I" refers to "Larry
  Wall".  ]

    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" which comes with 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 "Artistic".  If not, I'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,
    my 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 uperl.o 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.  I
    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 my interpretation
    of the GPL.  If you still have concerns or difficulties understanding
    my intent, feel free to contact me.  Of course, the Artistic License
    spells all this out for your protection, so you may prefer to use that.

-------------------------------------------------------------------------------

See the file "RELNOTES.DOS" for a list of the requirements, features,
and problems of this version.

People who have used earlier versions of bigperl that was based upon
Perl 4.036 may want to take a look at "CHANGES.DOS", which lists the
major changes between 4.036 and the current version of Perl 5.0.  Note
that the information contained here is largely repeated in
"RELNOTES.DOS"; the information is "CHANGES.DOS" is intended for people
who are already familiar with bigperl and who do not want to wade
through "RELNOTES.DOS".

To compile Perl, see the file "COMPILE.DOS".

*******************************************************************************
***** Installing the executables:

     *************
     * IMPORTANT *
     *************
     +---------------------------------------------------------------------
     | If you have any of the following machines, you MUST set the
     | DOS16M environment variable before you can use this version of
     | perl:
     |
     |		NEC 98-series
     |		Fujitsu FMR-60,-70
     |		Hitachi B32
     |		OKI if800
     |
     | See the section on "The DOS/4GW DOS extender" for details.
     +---------------------------------------------------------------------

     In order to use this version of perl, the following must be done:

1. The executable programs (dos4gw.exe, perl.exe, perlcpp.exe,
   perlglob.exe, x2p\a2p.exe, and x2p\s2p.bat) must be placed somewhere
   in %PATH.  The easiest way to do this is to simply copy all of these
   files to some convenient directory in your %PATH.

2. The perl library files (the ones in the "lib" subdirectory) need to
   be installed somewhere.  By default, this version of perl will look
   for these library files in "c:\perl5\lib"; you can change this by
   using the PERLLIB environment variable or by recompiling perl.  If
   you want to use c:\perl5\lib for the library directory, you can use
   the following commands to install the library files (this assumes
   that the current directory is the "perl-5.000" directory):

	mkdir c:\perl5
	mkdir c:\perl5\lib
	xcopy /s/e lib c:\perl5\lib

4. If you do not have a numeric coprocessor, you will have to manually
   add a driver to your Windows 3.1 SYSTEM.INI file.  If you do not have
   a numeric coprocessor, you must copy the "wemu387.386" file to some
   convenient directory, and add a line like the following to the
   [386Enh] section of your SYSTEM.INI file:

	device=c:\foo\bar\wemu387.386

   Edit the above line to reflect where you copied the "wemu387.386"
   file.

   If you have a numeric coprocessor, you do not need this driver.

5. See the next section for environment variables that you may want to
   set.


*******************************************************************************
***** The DOS/4GW DOS extender:

     *************
     * IMPORTANT *
     *************
     +---------------------------------------------------------------------
     | If you have any of the following machines, you MUST set the
     | DOS16M environment variable before you can use this version of
     | perl:
     |
     |		NEC 98-series
     |		Fujitsu FMR-60,-70
     |		Hitachi B32
     |		OKI if800
     |
     | See below for more information.
     +---------------------------------------------------------------------

     The DOS/4GW DOS extender, used by this version of perl, is a
royalty-free DOS extender from Rational Systems, and is included with
the WATCOM C/C++^32 compiler.  It must be placed in a directory in
%PATH, and it can be controlled through through the use of the following
environment variables:

     The extender can be controlled through through the use of the
following environment variables:

	DOS4G	-- Suppresses printout of DOS/4GW startup message.
	DOS16M	-- Controls how 32-bit memory is used and accessed.
	DOS4GVM -- Enables and controls virtual memory.

* DOS4G:

     The DOS4G variable can be set to "quiet", which suppresses the
display of the DOS/4GW startup message, e.g.,

	set DOS4G=QUIET

Due to the DOS/4GW licensing requirements, the startup message is not
suppressed by default, nor is this variable automatically set.


* DOS16M:

[ Note: not all options for the DOS16M variable are documented in the
  following. ]

     The DOS16M variable takes values of the form:

     [<switch_mode>][@<start_address>[-<end_address>]][:<size>]

The "<switch_mode>" value, which MUST be specified if you have an NEC
98-series, Fujitsu FMR-60,-70, Hitachi B32, or OKI if800 machine, can
take one of the following values:

	Value		Meaning
       --------------------------------------------------------------------
	0		Use DPMI to access 32-bit memory (automatically
			set if present).
	1		Use a method specific to the NEC 98-series
			machine.  You MUST specify a start/stop range of
			memory to use.
	2		Use a method specific to the PS/2 (automatically
			set if necessary).
	3		Use a method specific to a generic 386/486
			machine (automatically set if necessary).
	INBOARD		Use a method specific for a 386 with an Intel
			Inboard (automatically set if necessary).
	5		Use a method specific to the Fujitsu FMR-70
			machine.  You MUST specify a start/stop range of
			memory to use.
	11		Use VCPI to access 32-bit memory (automatically
			set if present).
	14		Use a method specific to the Hitachi B32
			machine.  You MUST specify a start/stop range of
			memory to use.
	15		Use a method specific to the OKI if800 machine.
			You MUST specify a start/stop range of memory to
			use.
	16		Use a method specific to PS/55s.  This setting
			may be needed for some PS/55s, and note that
			this is NOT automatically detected and used.

Note that, for most machines, the correct value for "<switch_mode>" is
automatically detected and used.

     The "<start_address>" and "<end_address>" values specify a range of
extended memory to use.  This is only necessary if neither DPMI nor VCPI
is available (these values are ignored if DMPI or VCPI is available).
Values can be specified as decimal or hexadecimal (prefixed with "0x"),
and are assumed to be values in kilobytes, unless an "M" (for
"megabytes") is appended to the end of the number.

     The "<size>" value specifies the maximum amount of memory that can
be allocated.  Values can be specified as decimal or hexadecimal
(prefixed with "0x"), and are assumed to be values in kilobytes, unless
an "M" (for "megabytes") is appended to the end of the number.

     If both a memory range ("<start_address"/"<end_address>") and a
"<size>" are given, the more restrictive of the two are used.

     Examples:

	set DOS16M=:2M

Use up to 2MB of extended memory.  The method used to access 32-bit
memory will be automatically determined (for those machines where it can
be done).

	set DOS16M=14@4M-8M

This tells DOS/4GW that an Hitachi B32 machine is being used, and that
memory from address 0x00400000 (4 megabytes) to address 0x00800000 (8
megabytes) should be used.


* DOS4GVM:

[ Note: not all options for the DOS4GVM variable are documented in the
  following. ]

     The DOS4GVM variable is used to enable and control virtual memory.
Note that, within enhanced-mode Windows, the DOS/4GW extender will use
the virtual memory provided by Windows, and will ignore the DOS4GVM
environment variable.  This variable is used only outside of Windows.

     To enable virtual memory support, you can set DOS4GVM to one of the
following values:

	set DOS4GVM=1
	set DOS4GVM=@<control_filename>

The first form, "set DOS4GVM=1", enables virtual memory with default
values for all parameters.  The second form enables virtual memory, and
allows you to specify a file that contains values for some or all
parameters (the filename must have the extension ".VMC").

     The settable parameters are (all numeric values must be specified
in kilobytes):

	VIRTUALSIZE
		This is the size of the virtual memory space.  The
		default is 16384KB (16MB).
	MINMEM
		This is the minimum amount of RAM to manage.  The
		default is 512KB.
	MAXMEM
		This is the maximum amount of RAM to manage.  The
		default is 4096KB (4MB).
	SWAPMIN
		This is the minimum or initial size of the swap file.
		If this is not specified, the initial size will be based
		upon the "VIRTUALSIZE" parameter.
	SWAPINC
		This is the size by which the swap size grows, if the
		swap has to grow.
	SWAPNAME
		This is the name of the swapfile.  The default name is
		"DOS4GVM.SWP", and is placed in the root directory of
		the CURRENT drive (not the boot drive).  It's best if
		you specify a complete pathname (w/drive letter) here.
	DELETESWAP
		If given, the swapfile is deleted when the program
		exits.  Normally, the swapfile is NOT deleted when the
		program exits, which means that the program will startup
		faster the next time (it doesn't have to recreate the
		swapfile).  Unlike the other options, this parameter
		does not take any values.

IMPORTANT: The file containing the parameters must NOT have any blank
lines, as parameter processing STOPS at the first blank line.

     An example of a .VMC file is:

! Example .VMC file.
! Comments start with "!".
! Set the virtual memory size:
virtualsize = 32768
! The minimum amount of ram used is:
minmem = 4096
! The maximum amount of ram used is:
maxmem = 8192
! Delete the swapfile when the program terminates:
deleteswap
! The name of the swapfile is:
swapname = c:\myswap.swp
