Perl不区分大小写的正则表达式无法正常工作

fel*_*the -2 regex perl

这是整个脚本:

#!/usr/bin/perl
use v5.14; use warnings;

my $reg = qr/test/i;

say "matched 1" if $reg =~ "test"; # matches
say "matched 2" if $reg =~ "Test"; # no match
Run Code Online (Sandbox Code Playgroud)

第一种情况匹配,第二种情况不匹配.我究竟做错了什么?

cho*_*oba 7

结合运营商=~左边,和正则表达式右侧.

"test" =~ $reg;
Run Code Online (Sandbox Code Playgroud)

  • 因为案例1被解释为''(?^ ui:test)'=〜/ test /`,而第二个被解释为''(?^ ui:test)'=〜/ Test /`.在[perlre]中搜索"stringification"(http://p3rl.org/perlre). (2认同)