ストリング定数に続く接尾部は、正しい PL/I の接尾部であろうとなかろうと、ストリングの終了引用符と接尾部の最初の文字の間に区切り文字を挿入しない限り、マクロ・プリプロセッサーによっては置き換わりません。
OS PL/I V2R1 コンパイラーでこの変更が導入されたため、これは、PL/I for MVS & VM コンパイラーと、PL/I for MVS & VM コンパイラーまたは OS PL/I V2Rx コンパイラーのいずれかとの間の相違ではないことに注意して ください。したがって、この制約事項にはフラグは付きません。
例として、以下を考えてみます。
%DCL (GX, XX) CHAR;
%GX='||FX';
%XX='||ZZ';
DATA = 'STRING'GX;
DATA = 'STRING'XX;
DATA = 'STRING' GX;
DATA = 'STRING' XX;
OS PL/I V1 のもとでは、これは次のソースを生成します。
DATA = 'STRING'||FX;
DATA = 'STRING'||ZZ;
DATA = 'STRING' ||FX;
DATA = 'STRING' ||ZZ;それに対し、PL/I for MVS & VM のもとでは、それは以下を生成します。
DATA = 'STRING'GX;
DATA = 'STRING'XX;
DATA = 'STRING' ||FX;
DATA = 'STRING' ||ZZ;