Path: utzoo!attcan!uunet!midway!linac!uwm.edu!wuarchive!emory!wa4mei!holos0!lbr From: lbr@holos0.uucp (Len Reed) Newsgroups: comp.lang.perl Subject: Proposed enhancements to MS-DOS perl Message-ID: <1990Sep20.013320.9162@holos0.uucp> Date: 20 Sep 90 01:33:20 GMT Sender: lbr@holos0.uucp (Len Reed) Organization: Holos Software, Inc., Atlanta, GA Lines: 59 I'm planning on make several important enhancements to the MS-DOS version of perl. I'd appreciate knowing about any problems, ideas, or applicable code anyone may have. 1) Fix up the test scripts to work under MS-DOS. Most do already. Those that don't typically do one of the following: a) Attempt to access an illegal DOS file name. For example, open(HANDLE, ">This.file.tmp"); There's no reason that both Unix and MS-DOS couldn't use the same, shorter name. b) Doing something that MS-DOS can't do, like forking. c) Using a Unixism, like "/bin/rm". 2) Minor bug corrections. The program should pass as much of the test suite as possible under DOS. 3) Better determine where optimization fails and selectively turn off specific optimizer switches as needed. 4) Swapping while running a subprocess. Since 640K isn't much when you're running perl, it would be nice to have perl swap itself out when doing subprocesses. Fortunately, I have already modified one program to do this, so it'll just mean hooking perl to run that code. 5) Complete MKS compatibility (see below for a plug for MKS). I don't usually modify free software to have full MKS compatibility, but perl is an obvious case for such treatment. I have parts of this lying around from other work. a) Accept 8 K-bytes of arguments as per MKS conventions, so that Korn shell commands like "perl script *.c" work even if there are a lot of c files. b) Pass extended argument list to sub processes. c) Run Korn shell instead of command.com to do subprocesses when a shell is needed, handling metacharacter set properly. d) Run MKS glob.exe to do globbing of things like . e) Handle "switch" character properly. (Currently perl.exe will run "command /c the_command" instead of "command -c the_command" when the switch character is a hyphen instead of a slash. f) Continue to work as well as can be expected if MKS tool kit is not present. I.e., the enhancements shouldn't mess anything up. Mortice Kern Systems (MKS) sells a line of Unix clone tools for MS-DOS and OS/2. If you're a Unix aficionado stuck in these environments, you should buy at least the basic tool kit. It includes vi, the Korn shell, most of the usual head/tail/ls type tools, and awk. (Well, perhaps Larry Wall has made that obsolete.) I have no relationship with MKS other than that of satisfied customer and consultant to a satisfied customer. -- Len Reed Holos Software, Inc. Voice: (404) 496-1358 UUCP: ...!gatech!holos0!lbr