Posted to tcl by Stu at Thu Jun 08 09:59:44 GMT 2023view pretty
$ cat q.tcl # Filters package require tov set reader [::tov::FileReader new in.txt] set filter1 [::tov::FilterDoer new] set filter2 [::tov::FilterDoer new] set writer [[::tov::FileWriter new out.txt] cascade { configure -buffering none ` yourself }] $reader sender [format {%s value $value} $filter1] ;# One way to do it. $filter1 sender "$filter2 value \$value" ;# Another way. Neither are pretty. $filter1 calculator {string toupper $value} $filter2 cascade [format { calculator {regsub -all {\.} $value "!"} ` sender {%s value $value} } $writer]; # Meh for usability. $reader value -1 ;# Go. $reader destroy $filter1 destroy $filter2 destroy $writer destroy # EOF $ cat in.txt; tclsh8.6 q.tcl; cat out.txt A Tcl script is a string containing one or more commands. A TCL SCRIPT IS A STRING CONTAINING ONE OR MORE COMMANDS!