ERB generates unwanted EOLs

If I add any inline code to an ERB template, extraneous end of line
characters are generated. For example, I want to generate the output:

#include “x.h”
#include “y.h”
#include “z.h”

So I have a template that’s something like:

<% headers.each { |name| %>
#include “<%= name %>”
<% } %>

Instead of the output that I want, this generates:

#include “x.h”

#include “y.h”

#include “z.h”

I can get the output that I want in this case by doing something like:

<% headers.each { |name| %>
#include “<%= name %>”<% } %>

But that’s only good in relatively trivial cases like this - if I want
to put a large amount of code inline, there’s virtually no way I won’t
be getting lots and lots of extraneous EOLs.

I gather, from the book “Code Generation in Action” by Jack
Herrington, that this is not supposed to happen - that is, my expected
output is the output that is supposed to happen.

Am I doing something wrong? Do I have something misconfigured? Is
there a way to fix this problem?

I am running Ruby on Windows XP, in case that matters.

Thanks in advance for any help.

Bob Vesterman.