В ответ на комментарий Тоддиуса Жо я видел несколько вопросов (и они у меня были сами), почему фигурные скобки используются при использовании переменных, например $ {Вар}
В TCL стандартная скалярная переменная может состоять из любого символа.
Однако оператор подстановки переменной "$" предполагает, что вы используете буквенно-цифровые символы и символы подчеркивания (плюс разделители пространства имен "::")
Так, если переменная установлена с не буквенно-цифровым символом, таким как "!", TCL выдаст ошибку при попытке заменить переменную.
% set myvar! 123
123
% puts $myvar!
can't read "myvar": no such variable
При использовании фигурных скобок оператор подстановки не выдает ошибку:
% set myvar! 123
123
%puts ${myvar!}
123
Это потому, что TCL не выполняет подстановку / интерполяцию для чего-либо определенного в фигурных скобках.
http://www.tcl.tk/man/tcl8.5/TclCmd/Tcl.htm