Proposed RCR: Modify ERB so that calls to #puts, #print, and #p inside the template append the resulting string onto the local ERB output variable, instead of sending the output to $stdout. #warn would still send to STDERR (for debug messages seen but kept out of the result string) and $stdout#<< could also be used. Does anyone have any compelling reason why I should not make the above RCR? I'll flesh it out as a proper RCR, citing the ruby-talk threads with users wondering why it doesn't work as they expected. As noted in another recent thread, I have in my possession an implementation (perhaps not ideal) which accomplishes this already, and would just need to be included. Would a C implementation also be required for eruby, to keep feature parity between ERB and eruby? (Should #p also be modified? Or is that logically a debug action already?)