Posted to tcl by evilotto at Thu Jul 03 17:14:29 GMT 2014view pretty

proc dict_explode {dictVal {prefix {}} {level 1}} {
    if {$prefix == ""} {error "prefix must be specified"}
    dict for {k v} $dictVal {
        uplevel $level [list set ${prefix}${k} $v]
        if {[llength $v] % 2 == 0} {
            dict_explode $v ${prefix}${k}. [expr {$level+1}]
        }  
    }   
}