On Fri, Mar 09, 2007 at 12:31:59AM -0500, erik quanstrom wrote: >that's a very elegant solution. but alas, It has its flaws, but it's useful in many circimstances nonetheless. I've used, named tl, instead, a few times when I new the first argument to a fn would be a word, and I needed to shift it off, and as the following arguments had been parsed by the shell to begin with, I knew they'd be parsed the same again. Nevertheless, here's an unpleasant rc solution: fn myshift { * = $$1 eval 'shift; '$1' = $*' } Or, you can just use sh(1), where you have ${tl}, subfn, (hd tl) := list and so forth. -- Kris Maglione There is no safety in numbers, or in anything else.