qr演算子 - 正規表現のリファレンスを作成する
「qr演算子」で正規表現のリファレンスを作成することができます。qr演算子を使うと、正規表現をリファレンスとして変数に保存できます。正規表現のオプションも含めて保存できます。正規表現が、コンパイルされるので、繰り返しパターンマッチを行う場合、高速に動作します。
# 正規表現のリファレンス my $regex = qr/\d+/sm;
パターンマッチを行うときは//の中に入れることもできますし、そのまま使用することもできます。//の中にいれたほうが少し見やすと思います。
# //の中で使用 if ($str =~ /$regex/) { ... } # そのまま使用 if ($str =~ $regex) { ... }
リファレンスって何?
リファレンスについては以下の記事で詳しく解説しています。
- リファレンスの使い方をマスターしよう
サンプル
正規表現のリファレンスを使ったサンプルです。
use strict; use warnings; # qr// を使うとオプションも含めて変数に保存できます。 # (gオプションは、指定できません。) my $word = "ababab"; my $regex = qr/A/i; my $replace = 'c'; $word =~ s/$regex/$replace/g; print "\$word = $word\n";
実行結果。
$word = cbcbcb