On 10/16/15 9:18 PM, Linda Walsh wrote: > Ok, thinking this from a different way. > > shopt -s implicit_vars_local > or > shopt -s localize_func_implicit_vars.... whatever... > > Right now, in a function, you *can* use local in a function > to make a local var. Thing is, both 'declare' and 'typeset' also > make a *local* var in a function, unless the "-g" switch is used. > > I.e. All standard, overt ways (local declare typeset) of creating > a var in a function all result in it being local, BUT, (and I think this is > an ugly wart), any *implicit vars* without local, or the misleading declare > or typeset, become global.
All variables are created at the global scope unless explicitly designated as local with local/declare/typeset. Simple and straightforward. (Dynamic scoping does change that a little, as has been covered ad nauseum.) -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, ITS, CWRU c...@case.edu http://cnswww.cns.cwru.edu/~chet/