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
Perlゼミ

