I am not sure what I am missing with the problem I am trying to solve. I am using TCL8.3 on various platforms([Linux], Mac). I am in the midst of building a small set of utilities to help me generate [HTML] (either with embedded ADP tags or simply static pages), and hope to eventually build a small UI on top of it with [Tk]. What I want is simply a snippet of code that will let me take in a raw text file, stick it into a variable, then let me write it to a file. The basic idea is this: I use my utils to process all the headers and footers and [Javascript] stuff in [TCL], then just include_raw {somefile} and then send the results to a file. What am I missing? How do I tell TCL to not evaluate what it reads from a file? this is my code right now.... proc rawInclude {raw_file} { if {[catch {set fd [open $raw_file r]} err]}{ return } set bytes_read [read $fd] close $fd return $bytes_read } (from Patrick@zill.net) ---- ''[DKF]:'' This looks about right to me (though [Tcl Performance] covers some tips on how to make this faster, it still looks like it should work.) If you're having problems with this, then perhaps you should look at where you are using it... ---- (patrick@zill.net) : in looking into this, I get the feeling that I should be using [fcopy] instead. Using fcopy ensures that no translation or attempt to use the input as variables or commands occurs. Will check this out further. Once I get this done, I expect that I will (eventually) post my code, in full. The code will let you automate HTML file production, including JavaScript, [mouseover]s, etc. ---- OK, now I feel stupid. When I changed things to use fcopy I did not realize at first that the first condition in the IF stmt was always true, so it was returning without doing anything to the file.