matz / netlab.co.jp (Yukihiro Matsumoto) writes: > For exapmle, there are several option to generate a string from the > code below: /... > Any ideas? Matz: How about: 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. | print <<-DAVE, <<-MATZ | Now is the time | for all good men | to come to the aid | of the party | | DAVE | Now is the time | for all good men | to come to the aid | of the party | MATZ -- |Now is the time | for all good men | to come to the aid |of the party | |Now is the time |for all good men |to come to the aid | of the party | In the second case, the second line does not have 7 leading spaces, so only the five that are there are removed. I'm sure you've considered this, but it seems fairly straightforward and easy to parse. I could hack up a patch if you're interested. Regards Dave