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/

Reply via email to