预编译正则表达式

我们可以抛开匹配或替换操作符,直接用qr//定义模式,然后使用这个已经编译过的正则表达式。

my $regex = qr/Buster(.*)Mini/si;



foreach (@big_long_list) {

    $count += /$regex/;



}

 

我们还可以使用某条正则表达式之前,先用qr//测试一下,看能否通过编译,而不必等到应用时才发现模式本身的问题。

可借助eval检测正则表达式编译结果:

my $name = '(' ;

my $regex = eval {}  or die "Regex failed: $@";

你可能感兴趣的:(正则表达式)