MS-DOS patches to perl.
Apply this patch to the standard perl source, version 4, patch level 19,
using "patch -p."  Do this in the root directory of the perl source
distribution.

You can cat all these patches together and pipe the output to patch -p.

Len Reed
Holos Software, Inc.
..!gatech!holos0!lbr
holos0!lbr@gatech.edu
--------------------------------------
*** t/op/exec.t.old	Tue Apr 23 22:38:14 1991
--- t/op/exec.t	Thu Nov 14 08:57:10 1991
***************
*** 5,20 ****
  $| = 1;				# flush stdout
  print "1..8\n";
  
  print "not ok 1\n" if system "echo ok \\1";	# shell interpreted
  print "not ok 2\n" if system "echo ok 2";	# split and directly called
  print "not ok 3\n" if system "echo", "ok", "3"; # directly called
  
  if (system "true") {print "not ok 4\n";} else {print "ok 4\n";}
  
! if ((system "/bin/sh -c 'exit 1'") != 256) { print "not "; }
  print "ok 5\n";
  
  if ((system "lskdfj") == 255 << 8) {print "ok 6\n";} else {print "not ok 6\n";}
  
  unless (exec "lskdjfalksdjfdjfkls") {print "ok 7\n";} else {print "not ok 7\n";}
  
--- 5,33 ----
  $| = 1;				# flush stdout
  print "1..8\n";
  
+ eval('umask');	# won't work on MS-DOS
+ $msdos = $@;
+ 
+ $BIN_SH = $msdos ? $ENV{'SHELL'} : '/bin/sh';
+ 
  print "not ok 1\n" if system "echo ok \\1";	# shell interpreted
  print "not ok 2\n" if system "echo ok 2";	# split and directly called
  print "not ok 3\n" if system "echo", "ok", "3"; # directly called
  
+ # MS-DOS note: MKS toolkit on MS-DOS has 'true' built into Korn shell and no
+ # standalone program.  One must supply a standalone true for test 4.
+ 
  if (system "true") {print "not ok 4\n";} else {print "ok 4\n";}
  
! if ((system "$BIN_SH -c 'exit 1'") != 256) { print "not "; }
  print "ok 5\n";
  
  if ((system "lskdfj") == 255 << 8) {print "ok 6\n";} else {print "not ok 6\n";}
+ 
+ if ($msdos) {
+     print "ok 7\nok 8\n";	# MS-DOS exec is still braindead as of Aug. 91
+     exit;
+ }
  
  unless (exec "lskdjfalksdjfdjfkls") {print "ok 7\n";} else {print "not ok 7\n";}
  
