区切り文字
正規表現を指定する際、Perlで「マッチ(一致)」と「置換」のために構文を単純化するのに代替の区切り文字が用いられる。
例えば、Perlでの単純なマッチの操作の構文は以下のようになる。
この構文は、区切り文字の衝突を避けるために、区切り文字を柔軟に変更できる。
区切り文字としたい文字列中に存在しない文字を特定してその文字を区切り文字とし、区切り文字とした文字が何であるかを決められた位置(例えば、1文字目とか、最後の位置)に配置する。 例えば、「\10,000」「\300」「aaa;」という文字列がある場合、カンマやセミコロンは区切り文字にならないから、それらの文字列中に存在しない文字、例えば「>」を区切り文字とし、「>\10,000>\300>aaa;>」とする。
ASCIIとUnicodeの文字セットではこの問題を回避するために、区切り文字として使用するための非表示の制御文字を用意している。それらの文字はASCIIで28 (0x1C) から31 (0x1F) に割り当てられている。
ASCII 31のユニット分離文字をフィールド区切り文字として、ASCII 30のレコード分離文字をレコード区切り文字として使用することで、フィールド区切り文字・レコード区切り文字の問題は解決する。