我需要这个信息来决定调用哪个具有特定方法的类。
答案 0 :(得分:8)
使用ref内置函数来确定变量的引用类型或类:
my $obj = bless [] => 'Some::Class';
print ref($obj), "\n"; # 'Some::Class';
可以在Scalar::Util
的{{1}}(始终返回容器类型)和reftype
(始终返回类名)子例程中找到更多详细信息。
答案 1 :(得分:8)
ref
通常可以正常工作,但Scalar::Util blessed
可能是更好的选择。例如,它将返回undef
作为未被包装到包中的普通引用。
答案 2 :(得分:0)
ref($obj)
将为您完成这项工作。