I know this question has been asked several times here. I have looked at the responses, but couldn't figure out the way it worked.Can you please help me understand. 

Here it goes: 

I'm trying to source a tcl script on the tclsh command line, and I want to redirect the output of that script into a file.

```
$ source my_script.tcl

```

The script `my_script.tcl` is something like this: 

```
set output_file final_result
set OUT [open $output_file w]

proc calculate{} { 
    <commands> 
    return $result
}

foreach value [calculate] { 
    puts $output_file "$value"
}

```

This script still throws out the output onto the stdout, while I expected it to redirect the output into a file specified as "final\_result" 

Can you please help me understand where I went wrong ?