Path: csiph.com!eternal-september.org!feeder.eternal-september.org!nntp.eternal-september.org!.POSTED!not-for-mail From: Keith Thompson Newsgroups: comp.unix.shell,comp.os.linux.misc Subject: Re: Over-Elaborate Shell Scripting Date: Fri, 13 Mar 2026 03:20:57 -0700 Organization: None to speak of Lines: 25 Message-ID: <87ms0c114m.fsf@example.invalid> References: <10otpi4$1opu8$3@dont-email.me> <10otrqi$1p9ft$1@dont-email.me> <10ou2q9$1qp29$1@dont-email.me> <10oucet$vo4d$2@news.xmission.com> <10ov0al$27u8r$1@dont-email.me> <10ov8u5$2coog$1@dont-email.me> <10ovrds$2jl1v$2@dont-email.me> <10ovuk2$2lsp1$2@dont-email.me> <10p022n$2n0mu$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain Injection-Date: Fri, 13 Mar 2026 10:21:02 +0000 (UTC) Injection-Info: dont-email.me; posting-host="2c86baf893b3ab97678bf2a684350c07"; logging-data="3157760"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19bAW8PORkF8BiYAdQXNyhb" User-Agent: Gnus/5.13 (Gnus v5.13) Cancel-Lock: sha1:vSQ+8E1/18Vv2pZ4Wob4ELCLRh0= sha1:kfDYpKLZhSHp/lVLHELyz1IfJuA= Xref: csiph.com comp.unix.shell:26675 comp.os.linux.misc:82910 Janis Papanagnou writes: [...] > Last time I used Perl I just ran the perl command on a program file > (if I recall correctly). That was certainly different from the BASIC > case I described, where syntax checking was interactively done, and > where an explicit compile step was necessary. [...] Yes, or you can use a "#!" line and just run the perl script directly as a command (at least on Unix-like systems). But in either case, there's a lot of stuff going on behind the scenes, including compilation from Perl to an internal form that's then interpreted. One interesting distinction is that if a Perl or Python script/program has a syntax error on the last line, it won't execute. A shell script (sh, bash, ksh, zsh, etc.) won't flag the error until execution reaches the last line. I do not claim that this distinction defines the difference between scripting languages and programming languages. That difference is not well defined. -- Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com void Void(void) { Void(); } /* The recursive call of the void */