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?)