Posted to tcl by rmax at Thu Jun 08 15:47:19 GMT 2017view pretty

# Don't operate on B and A when A and B have already been done.
proc foo data {
    while {[llength $data]} {
	set data2 [lassign $data value1]
	foreach value2 $data2 {
	    # doSomething $value1 $value2
	}
	set data $data2
    }
}