19 September, 2007

Piping to Tcl Script

Ok, maybe I've lived up to my name. I may very well be the fat slow

I struggled for some time trying to figure out how to pipe input to a Tcl script and immediately ventured off on a quest for opening a pipe (|) file descriptor. In actuality however, since I wanted to pipe input into the tcl script my needs are met by:

while { [gets stdin line] >= 0 } {
puts "got '$line'"


$ ls | ./tclPipe

results in

got 'Desktop'
got 'IM'
got 'ImagingManager.tar.gz'
got 'ISC'
got 'tclPipe'

My quest however also recovered if the input command is fixed:


set fp [open "|ls" r]
while { [gets $fp line] >= 0 } {
puts "got $line"

would surfice.

No comments: