参考:
但请注意,
qr//标量在创建时已经受到祝福,因此ref qr/.../可能会返回Regexp。
“可能”是否意味着,这ref qr/.../也可能返回除Regexp
ike*_*ami 10
我认为这是指有人可能会修改正则表达式,警告这ref($something) eq 'Regexp'不是 100% 可靠。
use 5.010;
my $x = qr/a/;
say ref($x);
bless $x, "Foo";
say ref($x);
say "a" =~ /$x/;
Run Code Online (Sandbox Code Playgroud)
Regex
Foo
1
Run Code Online (Sandbox Code Playgroud)
除了上述误报之外,误报也是可能的,因为有人可能会祝福不是正则表达式的东西Regexp。reftype是一个更好的工具。
use 5.010;
use Scalar::Util qw( reftype );
my $re = bless(qr/a/, "Foo");
my $not = bless({}, "Regexp");
say ref($re), " - ", reftype($re);
say ref($not), " - ", reftype($not);
Run Code Online (Sandbox Code Playgroud)
Foo - REGEXP
Regexp - HASH
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
127 次 |
| 最近记录: |