From: Clark C . E. <cc...@cl...> - 2002-06-18 12:41:32
|
Ok. Thus far we have 5 scalar styles, and one of those styles "simple" has at least 2-3 sub-styles; and this is without adding escaped or chomped permutations. Overkill? Could we muse for a spell as to how some of these styles could be unified? One idea is to merge the quoted, folded, and simple styles into a single unquoted escaped style where new-lines and leading/trailing spaces are folded into a single space. inline: In-line values still work quoted: No quoting is needed, here is a bell \b escaping: Double \" quotes must be escaped and the line can continue on the next line. Note that leading/trailing whitespace is merged into a single space unless there is a sl\ ash and in this case, the intermediate space is skipped. this: \ With a single slash, we have a next-line variant that is consistent with the mechanism. Of course, the last new line is not converted to a space by default, but if a trailing new line is desired, just use \\n.\n block: | We keep the block, as-is, with no escaping. chomp: |- And in-line chomp for those times when the new-line isn't wanted. If you want to escape, use the new escape style. So. This drops our single, double, and folded forms; it then moves the slash style escaping mechanism into the strings. To keep things simple, many characters should be excluded from appearing directly, and must be escaped: []{}:!| Within an in-line this form must also escape the comma (,). Thoughts? It merges alot together; at the expense of escaping readability within an in-line collection. Any other ideas? Clark |