如何获得参考的类型?

kar*_*_ms 8 perl

Perl中是否有任何函数可用于检查引用类型:

my $ref=\@array;
Run Code Online (Sandbox Code Playgroud)

我需要array通过函数获取引用类型.

pmo*_*mod 22

使用函数ref:

$ref_type = ref $ref;
Run Code Online (Sandbox Code Playgroud)

返回值是以下值之一:SCALAR,ARRAY,HASH,CODE(对子程序的引用),GLOB(对typeglob的引用)和REF(对引用的引用).

实际上,ref函数可能返回更多值,并且在引用对象的情况下返回包名而不是类型:http://perldoc.perl.org/functions/ref.html.

  • 请注意,引用已被祝福,ref()返回包名称,而不是基础数据类型.在这种情况下,您可以考虑使用Scalar :: Util的reftype和blessed方法. (7认同)