From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20521 invoked by alias); 9 Jul 2010 23:33:55 -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: 15153 Received: (qmail 27933 invoked from network); 9 Jul 2010 23:33:53 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) 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.1 Received-SPF: pass (ns1.primenet.com.au: SPF record at benizi.com designates 64.130.10.15 as permitted sender) Date: Fri, 9 Jul 2010 19:17:38 -0400 (EDT) From: "Benjamin R. Haskell" To: Zsh Users Subject: Assign to parameter in parameter -- opposite of ${(P)name}? Message-ID: User-Agent: Alpine 2.01 (LNX 1266 2009-07-14) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII It's the end of the week, and I'm tired, so I'm sure I'm completely overlooking something obvious, but how do you *assign* to a parameter whose name is in a parameter? E.g., my latest guess: name=foo : ${${(P)name}::=something} echo $foo # should echo 'something' Instead I get: zsh: not an identifier: Earlier attempt: : ${${name}::=something} Do I need to resort to 'eval'? -- Best, Ben