From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18212 invoked by alias); 7 Sep 2012 12:31:59 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: X-Seq: 17225 Received: (qmail 29924 invoked from network); 7 Sep 2012 12:31:47 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.3.2 Received-SPF: none (ns1.primenet.com.au: domain at biskalar.de does not designate permitted sender hosts) From: Sebastian Stark Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Subject: double quoted expansion question Date: Fri, 7 Sep 2012 14:31:38 +0200 Message-Id: <29236168-55B5-4555-9ACA-B1D21D345EA9@biskalar.de> To: zsh-users@zsh.org Mime-Version: 1.0 (Apple Message framework v1278) X-Mailer: Apple Mail (2.1278) Dear zsh users, I am trying to make a unique list of tags that is given in a string with = a certain format, e. g.: servers=3D" madeira linux,gpu,users madeira2 linux,gpu,users smtp linux,mail,smtp isar linux,users easygwa linux,web,external " The format is: server name, space, tag, comma, tag, comma, tag ... What I want from the above list is this: external gpu linux mail smtp users web=20 and I get it with: print ${(s:,:uo)${(j:,:)${${(f)servers}//* /}}}=20 However, if I do this: print "${(s:,:uo)${(j:,:)${${(f)servers}//* /}}}" I get: external linux web This also happens when I use the variable expansion expression in a here = document, which, I suppose, is undergoing the same treatment as double = quoted strings. What I would like to understand here is why the output changes the way = it does when I add double quotes around my expression. I would expect = the same output as without. If anybody could shed some light please, I = guess it's just something obvious I cannot see. Sebastian