On Mon, Aug 02, 2010 at 09:11:23PM +0200, Bernd Eggink wrote:
> Ksh and zsh also have the 'function'
> keyword, probably other shells as well. I prefer it in ksh because it
> makes locally declared variables really local, while with the name()
> syntax they are shared with the environment.
What?!
imadev:~$ ksh -c 'unset var; var=main; foo() { typeset var; var=local; }; foo;
echo $var'
main
That's ksh88.
arc3:~$ ksh -c 'unset var; var=main; foo() { typeset var; var=local; }; foo;
echo $var'
local
That's ksh93.
Oh, how fun. Whee! Good thing I'm using bash, not ksh.