パッケージ(オブジェクト)を調べる

パッケージにある全てのメソッドを調べる

シンボルテーブルをダンプする。

 use DateTime;
 use Data::Dumper;
 print Dumper \%Data::Dumper::;

オブジェクトにメソッドがあるか調べる

 use DateTime;
 use UNIVERSAL qw/can/;
 $dt = DateTime->now;
 if (can($dt, 'year')) {
    print "dt has 'year()'\n"
 }

オブジェクトがパッケージを継承しているか調べる

 use DateTime;
 use UNIVERSAL qw/isa/;
 $dt = DateTime->now;
 if (isa($dt, 'DateTime')) {
    print "dt isa 'DateTime'\n"
 }

オブジェクトのメソッドがどのパッケージにあるのか調べる

 use DateTime;
 use UNIVERSAL::which;
 $dt = DateTime->now;
 print $dt->which('year') . "\n";
 print $dt->which('which') . "\n";

継承しているクラスを調べる

パッケージ変数@ISAをダンプする。

 use Foo::Bar;
 use Data::Dumper;
 print Dumper @{Foo::Bar::ISA};

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS