Posted to tcl by evilotto at Fri Mar 08 23:19:40 GMT 2013view pretty

proc dict_withArray {var avar body} {
    upvar $var dvar
    array set $avar $dvar
    eval $body
    set dvar [dict create {*}[array get $avar]]
}   

set d {a 1 b 2 c 3}
dict_withArray d r {
  puts $r(a)
  puts $r(b)
  set r(b) hello
  puts $r(b)
} 
puts $d