From owner-freebsd-questions@FreeBSD.ORG Sun Sep 9 19:36:29 2007 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7FBBF16A418 for ; Sun, 9 Sep 2007 19:36:29 +0000 (UTC) (envelope-from kline@tao.thought.org) Received: from tao.thought.org (dsl231-043-140.sea1.dsl.speakeasy.net [216.231.43.140]) by mx1.freebsd.org (Postfix) with ESMTP id DB61E13C459 for ; Sun, 9 Sep 2007 19:36:28 +0000 (UTC) (envelope-from kline@tao.thought.org) Received: from tao.thought.org (localhost [127.0.0.1]) by tao.thought.org (8.13.8/8.13.1) with ESMTP id l89JZgUG003662; Sun, 9 Sep 2007 12:35:42 -0700 (PDT) (envelope-from kline@tao.thought.org) Received: (from kline@localhost) by tao.thought.org (8.13.8/8.13.1/Submit) id l89JZfC0003661; Sun, 9 Sep 2007 12:35:41 -0700 (PDT) (envelope-from kline) Date: Sun, 9 Sep 2007 12:35:40 -0700 From: Gary Kline To: Giorgos Keramidas Message-ID: <20070909193540.GA3569@thought.org> References: <000801c7f274$6fae71e0$6501a8c0@GRANT> <20070909020657.GA4912@kobe.laptop> <46E367F7.6060705@u.washington.edu> <20070909081927.GB98684@thought.org> <006901c7f2e1$0067bb30$6501a8c0@GRANT> <20070909131721.GA1859@kobe.laptop> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20070909131721.GA1859@kobe.laptop> User-Agent: Mutt/1.4.2.2i X-Organization: Thought Unlimited. Public service Unix since 1986. X-Of_Interest: With 21 of service to the Unix community. Cc: Grant Peel , Garrett Cooper , freebsd-questions@freebsd.org, Gary Kline Subject: Re: csh if..then delhema. X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Sep 2007 19:36:29 -0000 On Sun, Sep 09, 2007 at 04:17:21PM +0300, Giorgos Keramidas wrote: > On 2007-09-09 08:57, Grant Peel wrote: > > Thanks for the input gentlemen, > > Interesting to that the question was posted by G(rant) and then > > answered by G(ary), G(arrett) and G(iorgos)! (what are the odds!). > > Haha :) > > > Anywho, I am busily converting the script to perl as per the > > suggestions. I use tcsh rarely, had I of known the quirks I woul shave > > done it in perl from the beguining. > > > > As for Garrett's case method, it didnt work. Created a "case: Too many > > arguments." error. Perhaps because it itself is nested in a 'foreach' > > statement. > > `foreach' is a csh construct. If you copied the case/esac code posted > by Garrett, then it wouldn't work. The syntax used by Garrett was for > the Bourne shell (hence the /bin/sh reference above case). > > If you are going to convert everything to /bin/sh, you may as well > convert it to Perl unless there is some very good reason to use only > the pretty minimal data-structures supported by the Bourne shell > (i.e. because you want to run the script in environments where Perl > may be too much to require). > Do any of you gents know if there is a converter that turns Bo[u]rne (:-)) shell into perl? Years ago there was commericalware (i Think) that took /bin/sh to C. Maybe Ii'm mis-remembering. I've googled aroud and find zip, so maybe I was in some kind of coma-zone. At any rate, for simple unix scripts, /bin/sh (aka "a-shell", ash) or ksh or zsh is the way to go. Simple == a few lines. For anything grittier, perl wins any time. (And to save thebillions of flames that perl sux because it is hard to read (blah, blah, blah), **comment your code**. ) Other flame to /dev/null, guys. (G)ary [[ funny, jeez ]], LOL. > -- Gary Kline kline@thought.org www.thought.org Public Service Unix http://jottings.thought.org http://transfinite.thought.org