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";}