Article 161685 of comp.os.vms: You can usually use a construct like "''''" to get a single quote. Well, yes - but it's not doing what you think. DCL's logic is: If, inside a string, you see two apostrophes in a row, you are at the beginning of a symbol to be substituted. The symbol continues to the next apostrophe (or member of some other syntactic classes, the details of which you'd have to check the sources for). Thus, in parsing "''''", DCL starts a symbol with the first pair of apostrophes; gathers up the empty symbol name up through the next apostrophe; and replaces the whole shebang with the empty string, since the empty symbol name has no definition. What's left is a single apostrophe, which is left alone. However, 8 quotes in a row doesn't work (for some reason unknown to me). OK, so now let's try 8 in a row. Processing is straight left to right, so the first three apostrophes get "chewed off", leaving 5 in a row. DCL continues processing with the first of the 5 in a row. It again sees two apostrophes in a row, scans to the next one, and as before "chews off" the three leading apostrophes. That leaves us with "''". The two apostrophes in a row once again start a scan for an symbol name. Now, DCL *could* treat this as a special case: If you reach the end of the string, just leave the apostrophes alone. But it doesn't. In fact, it simply discards the two apostrophes it's seen, leaving nothing. (DCL actually *does* special-case this in one way: "''X" does *not* substitute the value of X. In fact, it leaves nothing. I suspect that this is probably an unexpected path through the code more than a deliberate design feature.) As I said in my previous message: Given DCL's logic, no string *constant* can ever contain two apostrophes in a row. They'll always get replaced by *some- thing*, whether a symbol value or the empty string. -- Jerry