Path: utzoo!attcan!uunet!ns-mx!iowasp.physics.uiowa.edu!ceres.physics.uiowa.edu!zaphod.mps.ohio-state.edu!sol.ctr.columbia.edu! lll-winken!unixhub!shelby!msi-s0.msi.umn.edu!cs.umn.edu!cybrspc!roy From: roy%cybrspc@cs.umn.edu (Roy M. Silvernail) Newsgroups: comp.lang.perl Subject: Re: Proposed enhancements to MS-DOS perl Message-ID: Date: 27 Sep 90 00:03:39 GMT References: <1990Sep22.182316.5325@holos0.uucp> Organization: Villa CyberSpace, Minneapolis, MN Lines: 26 lbr@holos0.uucp (Len Reed) writes: > Several persons have told me about -e problems. They don't even appear to > work on the Korn shell, which seems weird since the ksh should take the > stuff between single quotes and put it into a single argument for perl. > (This assumes that the expansion doesn't blow exceed the niddling 128 byte > command tail limit that will remain until perl.exe is fully MKS > compatible.) The problem is actually within the startup code of the C compiler. I did some initial experiments with a batch file that echoed args. This showed that 4dos was indeed breaking up the args according to my wishes. A similar C program, though, showed all args broken on whitespace, except where surrounded by double quotes. (under Turbo C 2.0) From this, I deduced that the command interpreter simply passes the entire command line to the program, and the program does its own expansion and arg assignment. Examining the asm source for setargv and the startup source (both supplied with Turbo C) shows this to be the case. It looks now as though I'd be better off waiting for Perl 4.0 before attempting to port it to Turbo. (how soon *is* RSN? :-) -- Roy M. Silvernail |+| roy%cybrspc@cs.umn.edu |+| #define opinions ALL_MINE; main(){float x=1;x=x/50;printf("It's only $%.2f, but it's my $%.2f!\n",x,x);} "This is cyberspace." -- Peter da Silva :--: "...and I like it here!" -- me