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/dbm.t.old Tue Apr 23 22:38:40 1991 --- t/op/dbm.t Thu Nov 14 08:57:10 1991 *************** *** 2,8 **** # $Header: dbm.t,v 4.0 91/03/20 01:51:52 lwall Locked $ ! if (!-r '/usr/include/dbm.h' && !-r '/usr/include/ndbm.h') { print "1..0\n"; exit; } --- 2,11 ---- # $Header: dbm.t,v 4.0 91/03/20 01:51:52 lwall Locked $ ! eval('umask'); # won't work on MS-DOS ! $msdos = $@; ! ! if (!$msdos && !-r '/usr/include/dbm.h' && !-r '/usr/include/ndbm.h') { print "1..0\n"; exit; } *************** *** 9,20 **** print "1..12\n"; ! unlink ; ! umask(0); ! print (dbmopen(h,'Op.dbmx',0640) ? "ok 1\n" : "not ok 1\n"); ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime, ! $blksize,$blocks) = stat('Op.dbmx.pag'); ! print (($mode & 0777) == 0640 ? "ok 2\n" : "not ok 2\n"); while (($key,$value) = each(h)) { $i++; } --- 12,31 ---- print "1..12\n"; ! if ($msdos) { ! # Not really needed, but using TMPDIR, when it's a RAM disk directory, ! # speeds this test a lot. ! if (defined($tdir = $ENV{'TMPDIR'})) { ! chdir ($tdir); ! } ! } ! ! unlink ; ! umask(0) unless $msdos; ! print (dbmopen(h,'Op_dbmx',0640) ? "ok 1\n" : "not ok 1\n"); ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime, ! $blksize,$blocks) = stat('Op_dbmx.pag'); ! print ($msdos || ($mode & 0777) == 0640 ? "ok 2\n" : "not ok 2\n"); while (($key,$value) = each(h)) { $i++; } *************** *** 40,46 **** delete $h{'goner2'}; dbmclose(h); ! print (dbmopen(h,'Op.dbmx',0640) ? "ok 4\n" : "not ok 4\n"); $h{'j'} = 'J'; $h{'k'} = 'K'; --- 51,57 ---- delete $h{'goner2'}; dbmclose(h); ! print (dbmopen(h,'Op_dbmx',0640) ? "ok 4\n" : "not ok 4\n"); $h{'j'} = 'J'; $h{'k'} = 'K'; *************** *** 92,98 **** print ($ok ? "ok 8\n" : "not ok 8\n"); ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime, ! $blksize,$blocks) = stat('Op.dbmx.pag'); print ($size > 0 ? "ok 9\n" : "not ok 9\n"); @h{0..200} = 200..400; --- 103,109 ---- print ($ok ? "ok 8\n" : "not ok 8\n"); ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime, ! $blksize,$blocks) = stat('Op_dbmx.pag'); print ($size > 0 ? "ok 9\n" : "not ok 9\n"); @h{0..200} = 200..400; *************** *** 102,105 **** print ($h{'foo'} eq '' ? "ok 11\n" : "not ok 11\n"); print ($h{''} eq 'bar' ? "ok 12\n" : "not ok 12\n"); ! unlink 'Op.dbmx.dir', 'Op.dbmx.pag'; --- 113,116 ---- print ($h{'foo'} eq '' ? "ok 11\n" : "not ok 11\n"); print ($h{''} eq 'bar' ? "ok 12\n" : "not ok 12\n"); ! unlink 'Op_dbmx.dir', 'Op_dbmx.pag';