置換演算子

それではマッチした文字列を、別の文字列に置き換える方法を覚えましょう。この処理は「入力フォームで予期しない記述をされた場合、別の文字に置き換える」時などによく使用されます。

※置換演算子を使ってみましょう!
■S/置換したい文字列(正規表現)/置換する文字列/オプション
$_="ご飯はハシで食べます。";
S/ハシ/フォーク/;
「ハシ」という文字列を「フォーク」という文字列に置き換えています。「ご飯はハシで食べます。」が「ご飯はフォークで食べます。」に置換されます。ここでのポイントは、置換の対象となる文字列は、必ずスカラー変数「$_」になる事です。「$_」ではなく、別の変数名を付けたい場合は、マッチ演算子を使用して下記のように記述します。
$data="ご飯はハシで食べます。";
$data=~s/ハシ/フォーク/;
スカラー変数ではなく、配列の要素やハッシュの値をマッチ演算子の左辺に置く事も出来ます。
$data { ' test1' } = ~s/ハシ/フォーク/;
ハッシュの「%data」の、キー「test1」の値に対して置換を行っています。最後に付けるオプションには、マッチ演算子の時に説明したものと同じオプションが使えます。意味も同じになります。
置換オプション 意 味
i 大文字小文字を区別しない。
g マッチする文字列すべてをチェックする。
m 改行文字を無視する。