參考:
但請注意,
qr//標量已被創建,因此ref qr/.../可能會回傳Regexp。
“可能”是否意味著,這ref qr/.../也可能回傳除Regexp
uj5u.com熱心網友回復:
我認為這是指有人可以對正則運算式進行更新的事實,警告ref($something) eq 'Regexp'不是 100% 可靠。
use 5.010;
my $x = qr/a/;
say ref($x);
bless $x, "Foo";
say ref($x);
say "a" =~ /$x/;
Regex
Foo
1
除了上述假陰性之外,假陽性也是可能的,因為有人可以祝福不是正則運算式的東西到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);
Foo - REGEXP
Regexp - HASH
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/316274.html
標籤:perl
下一篇:使樹散列正確路徑
