如何获取 Perl 对象(不是 class)的结构和继承历史?
How to get structure and inheritance history of a Perl object (not a class)?
use Mojo::UserAgent;
my $ua = Mojo::UserAgent->new;
my $tx = $ua->get( shift );
如何获取这些 Perl 对象的结构和继承历史($ua 和 $tx)?
Data::Dumper 只显示了一小部分结构和继承历史。
Perl 不跟踪变量的历史值。
Perl 不跟踪历史继承关系。
对象没有继承关系; class是的。
可以使用以下方法找到对象的当前结构:
use Data::Dumper qw( Dumper );
{
local $Data::Dumper::Purity = 1;
print(Dumper($o));
}
(它有局限性:只显示了 dualvars 的一个值;没有显示关联的魔法;等等。如果您需要更精确的表示,可以使用 Devel::Peek 的 Dump
.)
对象 class 当前继承的 classes 可以使用以下方法找到:
use mro qw( );
use Scalar::Util qw( blessed );
say join ", ", @{ mro::get_linear_isa(blessed($o)) };
use Mojo::UserAgent;
my $ua = Mojo::UserAgent->new;
my $tx = $ua->get( shift );
如何获取这些 Perl 对象的结构和继承历史($ua 和 $tx)?
Data::Dumper 只显示了一小部分结构和继承历史。
Perl 不跟踪变量的历史值。
Perl 不跟踪历史继承关系。
对象没有继承关系; class是的。
可以使用以下方法找到对象的当前结构:
use Data::Dumper qw( Dumper );
{
local $Data::Dumper::Purity = 1;
print(Dumper($o));
}
(它有局限性:只显示了 dualvars 的一个值;没有显示关联的魔法;等等。如果您需要更精确的表示,可以使用 Devel::Peek 的 Dump
.)
对象 class 当前继承的 classes 可以使用以下方法找到:
use mro qw( );
use Scalar::Util qw( blessed );
say join ", ", @{ mro::get_linear_isa(blessed($o)) };