diff options
author | Steve Bennett <steveb@workware.net.au> | 2010-09-16 09:39:26 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2010-10-15 11:02:52 +1000 |
commit | 77ebbb58cb33c0e37daef21baee7a06fe6ab49cb (patch) | |
tree | fd54e817a86a64ca5bcb6112737a6b225410ed5d /examples | |
parent | 9a438e624ea8771f790eb0e45bb65f7091681daf (diff) | |
download | jimtcl-77ebbb58cb33c0e37daef21baee7a06fe6ab49cb.zip jimtcl-77ebbb58cb33c0e37daef21baee7a06fe6ab49cb.tar.gz jimtcl-77ebbb58cb33c0e37daef21baee7a06fe6ab49cb.tar.bz2 |
Implement open "|..."
Uses a Tcl wrapper, popen, from tclcompat
Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'examples')
-rw-r--r-- | examples/popen.tcl | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/examples/popen.tcl b/examples/popen.tcl new file mode 100644 index 0000000..8a6b6e3 --- /dev/null +++ b/examples/popen.tcl @@ -0,0 +1,19 @@ +# Internally, open "|..." calls out to popen from tclcompat.tcl +# +# This code is compatible with Tcl + +# Write to a pipe +set f [open |[list cat | sed -e "s/line/This is line/" >temp.out] w] +foreach n {1 2 3 4 5} { + puts $f "line $n" +} +close $f +puts "Created temp.out" + +# Read from a pipe +set f [open "|cat temp.out"] +while {[gets $f buf] >= 0} { + puts $buf +} +close $f +file delete temp.out |