home *** CD-ROM | disk | FTP | other *** search
- "BIGPERL"
- Perl 4.0 patchlevel 36
- Mon Mar 15 00:36:19 1993
- By Darryl Okahata (Internet: darrylo@sr.hp.com)
- (Compuserve: 75206,3074)
-
-
- This version of Perl 4.0 has been compiled using the WATCOM C/386
- compiler, which generates flat, 32-bit code that runs under MSDOS and
- Windows (with some limitations -- see below).
-
- *************
- * IMPORTANT *
- *************
- The basic Perl sources belong to:
- Copyright (c) 1989,1990,1991, Larry Wall
- All rights reserved.
-
- Most of the MSDOS portions belong to:
- Copyright (c) 1987, 1988, 1990 Diomidis Spinellis.
- All rights reserved.
-
- The changes specific to MSDOS and WATCOM C/386 belong to:
- Copyright (c) 1993, Darryl Okahata
- All rights reserved.
-
- The GNU dbm libraries belong to the FSF and fall under the GNU
- Public License. See the file called "COPYING" in the directory
- containing the GNU dbm sources for copyright and copying
- information.
-
- The 32-bit DOS extender, "DOS/4GW", belongs to Rational Systems, Inc:
- Copyright (c) Rational Systems, Inc. 1990-1992
- 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 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.
-
- -------------------------------------------------------------------------------
-
- [ Enough legal crud. Time for the "meat". ]
-
- The requirements, features, and problems of this version are:
-
- * A 386 or 486 is required. This version will NOT work with anything else.
-
- * 4MB or more of RAM is required.
-
- * It is strongly recommended that a memory management program like
- HIMEM/EMM386 or QEMM be used. NOTE: machines with 64MB or more RAM
- should use use either QEMM or no memory manager; supposedly, on these
- machines, HIMEM/EMM386 and the dos extender (used for this version of
- perl) do not work well together.
-
- * Large amounts of memory is supported. This version of perl will use
- up to 32MB of memory.
-
- * Virtual memory is supported. By using a swapfile on your hard disk,
- this version can still access up to 32MB of memory, even though you
- may not have this much physical RAM. However, you must explicitly
- enable virtual memory by setting an enviroment variable (see the
- section called, "The DOS/4GW DOS extender", for more details).
-
- * This version will work under Windows 3.1. However, inside Windows,
- perl cannot spawn another copy of perl; this can be done outside of
- Windows.
-
- * The size of the stack is fixed at 128K. To change this requires
- relinking perl.
-
- * This version does not support entering scripts on the command line via
- the -e option. While nothing has been done to prevent it, the MSDOS
- 128-byte command-line-length limitation and the fact that MSDOS shells
- do not suport quoted arguments will probably frustrate any attempts at
- using -e.
-
- * The distributed perlglob.exe will perform filename globbing on
- directories. For example:
-
- @files = <*.*>;
-
- will return a SORTED list of all normal+directory files. Hidden &
- system files will not be returned.
-
- * The perl debugger works.
-
- * The exec() and ioctl() functions are not supported. The exec()
- function is not supported because the DOS extender doesn't support it,
- and ioctl() is not supported because of problems translating data
- structures between real and protected modes.
-
- * To avoid a bug in perl or the DOS extender, this version of perl turns
- control-break checking off (it does the equivalent of typing "break
- off" at the DOS prompt). This was done because pressing Ctrl-C or
- Ctrl-Break very rapidly while perl is running would crash the system
- (pressing it only once would work, but pressing it rapidly would cause
- a crash). The problem with this is that this version of perl can now
- only be interrupted while it is doing console I/O. I don't know if
- this will ever be fixed.
-
- Note that the original state of the control-break checking flag is
- saved at startup, and will be restored if perl terminates normally
- (pressing control-break will NOT cause the original state to be
- restored, however).
-
- * The perl library files (in perl-4.036/lib/*.*) have not been tested.
- They may or may not work with MSDOS.
-
- * Because many MSDOS shells treat "/" as the beginning of an option,
- MSDOS perl scripts will have to use the "\" character in paths to
- commands. For example, the following will not work:
-
- system("./perl");
-
- This fails because MSDOS tries to execute the command "." with the
- option "/perl". Instead, you must specify:
-
- system(".\\perl");
-
- Disgusting, but true.
-
- * The default location for the perl library support files is
- "c:\perl\lib". This can be changed through the use of the PERLLIB
- environment variable, or by recompiling perl.
-
- * A formatted version of the perl manual is stored in the file
- "perlman.txt".
-
- * This version of perl says that it is version "4.0M1". This was done
- to provide a means of identifying which MSDOS version of perl this is.
- [ Ideally, I would have liked to have said that this is "patchlevel
- 36a", but the code doesn't readily support this. ]
-
- * The a2p and s2p programs have NOT been ported.
-
- *******************************************************************************
- ***** 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. Environment variables have to be set in AUTOEXEC.BAT.
-
- For most people, the only environment variable that has to be set is:
-
- set DOS4G=quiet
-
- This will suppress the DOS/4GW startup message when you run perl.
- See the section on "The DOS/4GW DOS extender" for information on
- other environment variables that can be set.
-
- 2. The executable programs (perl.exe, perlglob.exe, and dos4g.exe) must
- be placed somewhere in %PATH. The easiest way to simply copy all
- of the .exe files to some convenient directory in your %PATH.
-
- 3. 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:\perl\lib"; you can change this by
- using the PERLLIB environment variable or by recompiling perl. If
- you want to use c:\perl\lib for the library directory, you can use
- the following commands to install the library files (this assumes
- that the current directory is the same directory in which this
- README.DOS file lies):
-
- mkdir c:\perl
- mkdir c:\perl\lib
- copy lib\*.* c:\perl\lib
-
-
- *******************************************************************************
- ***** 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. It must be placed in a
- directory in %PATH, and it 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 only be set to "quiet", which suppresses the
- display of the DOS/4GW startup message, e.g.,
-
- set DOS4G=QUIET
-
-
- * 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.
- 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
-
- *******************************************************************************
- ***** Compiling perl under WATCOM C/396 9.0:
-
- 1. Go to \watcom\src\startup and compile the wildargv.c program (this
- file came with your copy of WATCOM C):
-
- wcc386 /j wildargv.c
-
- 2. Compile gdbm, e.g.:
-
- cd gdbm-1.5 # or whereever it is, whatever the latest
- # version is called.
- wmake /u # Compile the library.
-
- Note that "wmake" MUST be used. Using other make programs may not
- work. This takes about 1.5 minutes on my 33MHz 486DX.
-
- 3. Currently, a limitation of the DOS/4GW dos extender supplied by
- WATCOM is that, under Windows 3.1, a DOS/4GW program (e.g., perl)
- cannot spawn another DOS/4GW program. This doesn't seem like much of
- a limitation until you realize that perl spawns perlglob.exe to do
- filename globbing (e.g., "foreach (<*.c>) { ... }"). If perlglob.exe
- is compiled using WATCOM C, you will be unable to do filename
- globbing in Windows. However, if perlglob.exe is compiled using a
- plain 16-bit C compiler, filename globbing in Windows will work.
-
- The Makefile supports creating perlglob.exe using either the WATCOM C
- or the Borland C++ 3.1 compiler (which is all that I have). Note
- that the default is to build perlglob.exe using WATCOM C.
-
- While the Borland-compiled version works, there is a bug in Borland's
- wildcard expansion routines: filenames that use "/" as a directory
- separator do not always get properly expanded. Another problem is
- that directories are not expanded, as they are under Unix.
- Fortunately, if you have the Borland library sources, fixing these
- problems is simple:
-
- a) Edit the file "\borlandc\crtl\clib\setargv.asm".
-
- b) At line 183, change the value of "wild_attr" from "0" to "10H".
- This will enable expansion of directories.
-
- c) At line 418, change the line:
-
- cmp al, '\'
-
- to:
-
- cmp al, '/'
-
- This will fix the bug that prevents paths with only "/"s from
- being properly expanded.
-
- d) Save the file to disk, cd to \borlandc\crtl, and execute the
- following lines:
-
- set model=s
- build clib
-
- This will rebuild the small memory model (only) of the C library.
- The modified library will be placed in \borlandc\crtl\lib\cs.lib
- (note that the original Borland library is still in
- \borlandc\lib\cs.lib). Don't copy the modified library over the
- original one; sometimes, Borland supplies library patches, which
- you want to apply only to the original.
-
- 4. If, for some reason, you edit perly.y, you'll have to do one of the
- following:
-
- a) Get an MSDOS version of byacc or bison that can convert perly.y.
- If you find such a version, install it somewhere in %PATH, and set
- the "YACC" variable in the Makefile; the Makefile will, hopefully,
- then take care of the rest.
-
- b) On some Unix, run yacc on perly.y to create perly.c and perly.h.
-
- If you don't touch perly.y, you won't have to do a thing. However,
- if perly.y is touched, you'll have to somehow rebuild perly.c and
- perly.h from perly.y.
-
- The perly.c and perly.h in this distribution were created by byacc.
-
- 5. Edit the Makefile, and change the following Makefile variables:
-
- WATCOM_WILD -- Contains the full pathname to the WATCOM
- wildargv.obj compiled in step #1.
- LIBS_PATH -- Points to the directory containing gdbm.lib.
- DESTDIR -- Your desired destination directory for
- executables. Note that the perl library
- support files are NOT installed; this needs
- to be fixed.
- PERL_STACKSIZE -- The size of the call stack. The default is
- 128K.
- DEBUG -- Contains either debugging or optimization
- compiler flags.
-
- For full functionality under Windows 3.1, you need to compile
- perlglob.exe with a compiler other than Watcom C/386. I used Borland
- C++ 3.1. If you want to use Borland C++, you MUST follow the
- instructions in step #2, and then set the following Makefile
- variables:
-
- BORLAND_WILDARGS -- Full pathname to the Borland
- wildargs.obj file (typically,
- \borlandc\lib\wildargs.obj, but don't
- forget the drive letter).
- BORLAND_CLIB_SMALL -- Full pathname to the modified Borland
- small-memory model C library (this
- will be something like
- \borlandc\crtl\lib\cs.lib, but don't
- forget the drive letter).
-
- 6. Edit config.h. The only entries that you should have to change are
- (see the comments in config.h for details):
-
- BIN -- default is c:/perl/bin
- SCRIPTDIR -- default is c:/perl/bin
- PRIVLIB -- default is c:/perl/lib
-
- 7. Execute:
-
- wmake /u
-
- Note that "wmake" MUST be used. Using other make programs may not
- work. The "/u" is also very important; if you don't specify it, you
- won't like the results. On my PC, this step takes about 6-7 minutes.
-
- 8. If you want to compile perlglob.exe using the Borland C++ compiler,
- execute the following:
-
- wmake /u bperlglob.exe
-
- 9. At this point, you should have a working perl.exe and perlglob.exe.
- Note that perlglob.exe must be installed somewhere in %PATH, as
- perl.exe uses this program to do filename globbing (e.g, "foreach
- (<*.obj>) ..."). See the above section on installation for more
- instructions.
-
- **************
- * IMPORTANT! *
- **************
- DO NOT PACK THE .EXE FILE USING ANY FORM OF .EXE COMPRESSION
- (e.g., exepack). Doing so will make the perl binary totally
- unusable, as the WATCOM stub loader (a 16-bit program) does an
- exec() of the 32-bit DOS/4GW extender, and this extender has to
- be able to read and parse the .EXE file (which it cannot, if the
- .EXE file has been packed).
-
- 10. That's all, folks!
-
-
- *******************************************************************************
- ***** Notes:
-
- * While compiling regcomp.c, the WATCOM C compiler will output the
- following message:
-
- regcomp.c(229): Warning! W105: Assignment found in boolean expression
-
- Believe it or not, the code is correct. If you look at the code,
- you'll swear that it's wrong, but it's right.
-
-
- *******************************************************************************
- ***** Here is a list of perl regression tests in Perl 4.0 pl36, and
- whether or not they pass.
-
- Note: there is a perl script, called "t/test.dos", that runs all
- tests that are known to pass 100% (which is 60-70% of the tests).
-
- ===============================================================================
- base/cond.t -- Passes
- base/if.t -- Passes
- base/lex.t -- Mostly passes. There is a single failure (test #12), due
- to differences between Unix and MSDOS. (Under Unix, 'sh
- -c "echo ok 12\n"' produces only one line of output. Two
- lines are output with MSDOS.)
- base/pat.t -- Passes
- base/term.t -- Passes, if references to "/dev/null" are changed to "nul".
- cmd/elsif.t -- Passes
- cmd/for.t -- Passes
- cmd/mod.t -- Passes
- cmd/subval.t -- Passes
- cmd/switch.t -- Passes
- cmd/while.t -- Passes, if references to the file "Cmd.while.tmp" are
- changed to reference "Cmd_while.tmp".
- comp/cmdopt.t -- Passes
- comp/cpp.t -- Fails (cpp is not implemented)
- comp/decl.t -- Passes
- comp/multilin.t -- Passes, if references to "rm" and "cat" are changed to
- "del" and "type".
- comp/package.t -- Passes
- comp/script.t -- Fails, due to differences between Unix and MSDOS.
- (Testing under MSDOS would require adding code to properly
- parse quoted command-line arguments.)
- comp/term.t -- Passes
- io/argv.t -- Fails, due to differences between Unix and MSDOS.
- (Testing under MSDOS would require adding code to properly
- parse quoted command-line arguments.)
- io/dup.t -- Mostly passes. Test #5 fails because MSDOS can't handle
- redirection of stderr.
- io/fs.t -- Fails, due to differences between Unix and MSDOS.
- (Unix has the concept of a multiple file access
- permissions: user, group, other. MSDOS has no such
- concepts.)
- io/inplace.t -- Not tested.
- io/pipe.t -- Fails. Needs a working exec(), which is not supported
- with this version of MSDOS perl.
- io/print.t -- Passes
- io/tell.t -- Passes
- lib/big.t -- Passes
- op/append.t -- Passes
- op/array.t -- Passes
- op/auto.t -- Passes
- op/chop.t -- Passes
- op/cond.t -- Passes
- op/dbm.t -- Mostly passes with GNU dbm, if the following is done:
- 1. At the beginning of the test, the lines that test
- to see if /usr/include/dbm.h or /usr/include/ndbm.h
- exist are deleted.
- 2. References to the file "Op.dbmx" are changed to
- "Op_dbmx".
- 3. References to the file "Op.dbmx.pag" are changed to
- "Op_dbmx".
- Test #2 fails due to file permission differences between
- Unix and MSDOS.
- op/delete.t -- Passes
- op/do.t -- Passes
- op/each.t -- Passes
- op/eval.t -- Passes
- op/exec.t -- Fails (exec() not implemented)
- op/exp.t -- Passes
- op/flip.t -- Passes
- op/fork.t -- Fails (fork() not implemented)
- op/glob.t -- Passes, if a patch is applied to glob.t (this patch is
- listed at the end of this list). This patch may be
- questionable.
- op/goto.t -- Mostly passes. Test #3 fails due to differences between
- Unix and MSDOS. (Testing under MSDOS would require
- adding code to properly parse quoted command-line
- arguments.)
- op/groups.t -- Fails. MSDOS has no concept of "groups".
- op/index.t -- Passes
- op/int.t -- Passes
- op/join.t -- Passes
- op/list.t -- Passes
- op/local.t -- Passes
- op/magic.t -- Fails, due to differences between Unix and MSDOS.
- (Testing under MSDOS would require adding code to
- properly parse quoted command-line arguments.)
- op/mkdir.t -- Mostly passes. Parts fail due to different error
- messages output by Unix and MSDOS.
- op/oct.t -- Passes
- op/ord.t -- Passes
- op/pack.t -- Passes
- op/pat.t -- Passes
- op/push.t -- Passes
- op/range.t -- Passes
- op/read.t -- Passes
- op/readdir.t -- Passes
- op/regexp.t -- Passes
- op/repeat.t -- Passes
- op/s.t -- Passes
- op/sleep.t -- Passes
- op/sort.t -- Passes
- op/split.t -- Mostly passes. Test #11 fails due to differences between
- Unix and MSDOS. (Testing under MSDOS would require
- adding code to properly parse quoted command-line
- arguments.)
- op/sprintf.t -- Passes
- op/stat.t -- Fails (contains numerous Unix-isms, like "ls -l /dev",
- "/usr/bin", "/dev/null", "/dev/tty", etc.)
- op/study.t -- Passes
- op/substr.t -- Passes
- op/time.t -- Fails ("times" not implemented)
- op/undef.t -- Passes
- op/unshift.t -- Passes
- op/vec.t -- Passes
- op/write.t -- Passes
-
- ===============================================================================
- Patch for op/glob.t (already applied to op/glob.t -- it is reproduced here so
- that you can see what was changed):
- -------------------------------------------------------------------------------
- *** glob.old Thu Jun 11 22:43:38 1992
- --- glob.t Sun Mar 07 23:30:56 1993
- ***************
- *** 4,19 ****
-
- print "1..4\n";
-
- ! @ops = <op/*>;
- $list = join(' ',@ops);
-
- ! chop($otherway = `echo op/*`);
-
- ! print $list eq $otherway ? "ok 1\n" : "not ok 1\n$list\n$otherway\n";
-
- print $/ eq "\n" ? "ok 2\n" : "not ok 2\n";
-
- ! while (<jskdfjskdfj* op/* jskdjfjkosvk*>) {
- $not = "not " unless $_ eq shift @ops;
- $not = "not at all " if $/ eq "\0";
- }
- --- 4,19 ----
-
- print "1..4\n";
-
- ! @ops = <op/*.*>;
- $list = join(' ',@ops);
-
- ! chop($otherway = `perlglob -s op/*.*`);
-
- ! print $list eq $otherway ? "ok 1\n" : "not ok 1\n'$list'\n'$otherway'\n";
-
- print $/ eq "\n" ? "ok 2\n" : "not ok 2\n";
-
- ! while (<jskdfjskdfj*.* op/*.* jskdjfjkosvk*.*>) {
- $not = "not " unless $_ eq shift @ops;
- $not = "not at all " if $/ eq "\0";
- }
-
- -------------------------------------------------------------------------------
-