Posted to tcl by mjanssen at Mon Feb 02 17:35:12 GMT 2009view pretty

package require Tk
pack [text .t]
set f [open "|ls" r]
fconfigure $f -buffering line
fileevent $f readable [list getLine $f]

proc getLine sock {
    gets $sock line
    if {[eof $sock]} {
	close $sock
    } else {
	.t insert end $line\n
   }
}