Yasushi Shoji <yashi / yashi.com> writes: > > 4. The whitespace at the start of the first line in the here document > > determines the number of spaces to remove from this and subsequent > > lines. Tabs are assumed to align on 8n+1 boundaries. The terminator > > may appear at any indentation. > > I think Ruby should keeps the current behavior. Well, one of the benefits of passing the text through transparently is that you don't lose any information. This means that you can always write helper functions to achieve the effect you want. For example # Strip leading whitespace using Dave's option 4 # Ignores tabs for now def sl(lines) return lines if lines !~ /^\s+/p toStrip = Regexp.new "^\\s{1,#{$&.length}}" p toStrip lines.gsub(toStrip, '') end print <<-DAVE, sl(<<-MATZ) Now is the time for all good men to come to the aid of the party DAVE Then was a time and a fine time it was when parties were there for the taking MATZ So, I take back the suggestion :) Dave