global - Access global variables


global varname ?varname ...?


This command has no effect unless executed in the context of a proc body. If the global command is executed in the context of a proc body, it creates local variables linked to the corresponding global variables (and therefore these variables are listed by info locals).

If varname contains namespace qualifiers, the local variable's name is the unqualified name of the global variable, as determined by the namespace tail command.


This procedure sets the namespace variable ::a::x
proc reset {} {
    global a::x
    set x 0

This procedure accumulates the strings passed to it in a global buffer, separated by newlines. It is useful for situations when you want to build a message piece-by-piece (as if with puts) but send that full message in a single piece (e.g. over a connection opened with socket or as part of a counted HTTP response).

proc accum {string} {
    global accumulator
    append accumulator $string \n


namespace, upvar, variable


global, namespace, procedure, variable