正規表現の囲み文字を変更する - m//
Perlでは正規表現の囲み文字を変更することができます。
正規表現はパターンマッチ演算子を組み合わせて以下のように書くことができましたね。
$string =~ /cat/
でもここで、たとえば、URLのパスにマッチさせたい場合を考えてみてください。スラッシュをエスケープして次のように書けます。
$string =~ /\/foo\/bar\/baz/
ちょっと読みずらくないですか。Perlではこんな場合、正規表現の囲み文字「/」を別の囲み文字に変える方法があります。次のように書きます。
$string =~ m|/foo/bar/baz|
先頭に「m」を付けて、囲み文字を別のものに変更します。以下の組み合わせなどが囲み文字としてつかえます。
m|正規表現| m#正規表現# m!正規表現!
sを使って置換をする場合も同じように利用できます。
s|正規表現|置換後の文字列| s#正規表現#置換後の文字列# s!正規表現!置換後の文字列!