# expected: 13
proc for-each-line {var lines body} {
    foreach item $lines {
        uplevel 1 [list set $var $item]
        uplevel 1 $body
    }
}

# Usage: accumulate lengths of each "line"
set total 0
for-each-line line {hello world foo} {
    incr total [string length $line]
}
set total
