CODEこのページでは開発したプログラムコードをチップ化してご紹介しています。後ほどわかり易く分類化して整理する予定です。文字列を指定した数だけ繰り返すにはx演算子を使用します。文字列を連結するには連結演算子(.)を使います。文字列を分解するにはsplit関数を使用します。split関数は区切り文字(正規表現)で「文字列」を分解し、そのリストを返します。文字列を省略すると、特殊変数「$_」が分解の対象になります。split関数に分解数を指定することもできます。/区切り文字/,文字列,分解数]このときには指定した分解数に分解されます。次のスクリプトのsplit関数では分解数を3にしているので、変数$cは3つに分解されます。最後の要素「ghj-jik」となります。文字列を連結するにはjoin関数を使います。join関数は、[リスト]を「連結文字」を使って連結します。"$str\n";●連結文字に殻の文字列""を指定した場合には、そのまま連結します。文字列の一部取り出すには、substr関数を使います。位置は取り出す開始位置を文字数(バイト数)で指定します。位置は0から始まります。負の値を指定すると、文字列の末尾からの位置になります。[長さ]は取り出す長さを文字数(バイト数)で指定します。長さを省略した場合には、位置から最後の文字まで取り出します。文字列を検索してその位置を返すにはindex関数を使用します。文字列,検索開始位置]。index関数は文字列の中の検索文字列を検索開始位置から検索して、最初に見つかった検索文字列の先頭から位置が返ります。文字列,検索開始位置]rindex関数は最初に見つかった「検索文字列」の位置を返します。大文字を小文字に変換するにはlc関数を使い、小文字を大文字に変換するにはuc関数を使用します。文字列の長さ(バイト数)を返すにはlength関数を使います。ある文字列の中に特定の文字列が含まれているかどうかを調べるには、m演算子を用います。m演算子の構文は次のとおりです。[m/文字列/]通常、検索の対象となるのは、特殊変数「$_」ですが、パターン結合演算子「=~」を使うと、検索の対象となる変数を指定することができます。"ABが含まれています。"ABが含まれていません\n";}上のスクリプトは特殊変数[$_」を使って次のように書き直すことができます。"ABが含まれています。m演算子でパターンマッチを行うときに、修飾子でオプションを指定することができます。i:英大文字と英小文字を区別する。o:パターンのコンパイル(変数展開)を一回だけ行う。x:正規表現の空白を無視する。文字列の中にある特定の文字を置換えするときには、s演算子を使います。s演算子の構文は次のとおりです。s演算子でパターンマッチを行うときにも、m演算子と同様に修飾子でオプションを指定することができますs。s演算子で指定できる修飾子には次のようなものがあります。e:置換え後の文字列を式として扱う。g:マッチするものを全て置換えする。o:パターンコンパイル(変数展開)を一回だけ行う。s:文字列を単一行として扱う。x:正規表現の空白を無視する。s演算子と同様な置換えを行うtr関数も用意されています。tr関数はs演算子と違い、一文字単位に置換えを行います。まりtr関数は文字リストの中の各文字を置換え文字リストの対応する文字に置換えします。指定した文字列が特殊変数$_に含まれていれば、置換えを行い、含まれていなければ儀を返します。特殊変数$_以外の変数に対して置換えを行う場合には、パターン結合演算子[=~」を使います。これまで特定の文字列をパターンとするpターンマッチの例をみてきましたが、Aで始まる5文字の例、末尾がzで終わる文字列、アルファベットと数字だけからなる文字列等をパターンとしてパターンマッチを行いときがしばしばあります。これを可能にするのが、通常の文字列やメタ文字と呼ばれる特殊な文字を組み合わせて表現します。"マッチしませんでした";}$_はマッチした部分を返す特殊変数です。マッチした文字列の前の部分は特殊変数「$」に後ろの部分は特殊変数「$」に格納されます。文字クラスは[]の中に文字を並べたもので、それらの文字列の中の1文字とマッチします。A[xyz]BはAxB,AyB,AzBの3種類の文字列にマッチします。文字クラスの中で「-」を使うと、文字の範囲を示すことができます。「abcdef」は[a-f]と書くことができます。[の直後に^をおくと、否定を意味します。[^abcd]はabcd以外の1文字にマッチします。空白もじとはスペース、復帰、タブ、開業、改ページの総称です。文字の繰り返しを意味するメタ文字には以下のものがあります。"$&とマッチしました。"マッチしませんでした。"$&とマッチしました。"マッチしませんでした。正規表現をまとめてグループ化するには、()を使用します。A(bc)?dという正規表現は、「Ad」または「Abcd」にマッチします。これはbcがグループ化され、それに対して?が適用されるからです。|を使うと正規表現の選択が行えます。ab|Ab|aBは「ab」「Ab」「aB」にマッチします。A(xy|XY)BはAxyBまたはAXYBにマッチします。これまでに説明した正規表現は、マッチする文字列の位置を指定することはできませんでした。定冠詞theを大文字にするために、s/the/THE/gのような置換えを行いたいとします。これではmathematicsをmaTHEmaticsと変えてしまうような置換えも行ってしまいます。これを防ぐためにパターンの位置を示す、次のようなメタ文字が用意されています。エスケープ文字\はめた文字の特殊な意味をなくし、メタ文字そのものをあらわすようにします。[a\.c]は[a.c]とパターンマッチします。[\^]は[^]を[\\]は[\]を、[\$]は[$]自身をあらわします。