给定一个对象,我怎么能在perl中知道它的类?

时间:2011-06-27 15:20:38

标签: perl

我需要这个信息来决定调用哪个具有特定方法的类。

3 个答案:

答案 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)将为您完成这项工作。