On Sep 10, 2005, at 9:39 AM, James Edward Gray II wrote: > I personally think it's better that people confused by this aspect > ask here and get corrected, than it is to break puts() for them. IMHO, they way it behaves currently is what is broken. My personal mental model says that #puts is for outputting content that is the desired output of your program (unlike #warn). An ERB template is a parametrized program in its own right, and its output is the resulting string. If you want debug output, use #warn. That's how I look at it, anyhow. Do others actually think of an ERB template as an enormous HEREDOC string in another file that is going to be included in your program, and ERB as an uber-powerful gsub to run on that string?