Tcl
コマンドの位置に「#」を記述すると行末までコメントと見なされる。「コマンドの位置に」ということが重要であり、以下の最後のコードは「#」がコマンドの位置にないので誤りである。
Tclパーサーは変数機能の提供によりコマンド間でのデータの受け渡しも扱ってくれる。変数はsetコマンドにより生成される。そして、$記号が先頭に付いた要素を変数名とみなし、その値に要素全体を置換する。これが「変数置換」である。
変数置換はコマンド行の先頭要素に対しても機能する。つまりコマンド名を変数で与えることも可能である。
変数置換は1回しか実行されない。変数置換結果に文字「$」が含まれていても再置換が試みられることはない。
また、変数置換で得られた文字列にブランクが含まれていても、2つの引数としてではなく、ブランクが含まれた1つの引数として渡される。引数の分離(リストの認識)は変数置換前に行われるからである。もし置換結果から改めて引数分離を行わせたいなら eval コマンドを利用する。