kid.
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:
#!/usr/bin/tclsh
while { [gets stdin line] >= 0 } {
puts "got '$line'"
}
so
$ 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:
#!/usr/bin/tclsh
set fp [open "|ls" r]
while { [gets $fp line] >= 0 } {
puts "got $line"
}
would surfice.
No comments:
Post a Comment