perl – reftype {}有什么用?

前端之家收集整理的这篇文章主要介绍了perl – reftype {}有什么用?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我最近看到一些代码提醒我提出这个问题.最近,我看到了很多这样的事情:

use Scalar::Util 'reftype';

if ( reftype $some_ref eq reftype { } ) { ... }

在匿名hashref上调用reftype的目的是什么?为什么不说eq’HASH’?

解决方法

你现在可以将它与’HASH’进行比较,因为这就是现在的回归.

但它可能并不总是如此.

一个很好的例子是他们对编译的正则表达式所做的改变.在较旧的Perls中,reftype是SCALAR.但是,从5.12开始(我相信)它现在是它自己的类型REGEXP.例:

perl -MScalar :: Util = reftype -e“print reftype qr //”在5.8上给出SCALAR,但5.12上的相同给出了REGEXP.

你可以看一下this question的另一个应用程序我问了一会儿,除了它使用ref而不是reftype.原则是一样的.

简单地说,通过将它与reftype {}进行比较,他们保证现在和将来都没有(而且我认为这是杀手级功能)在你的程序中硬编码另一个字符串.

猜你在找的Perl相关文章