メソッドの一覧を取得する
任意のクラス・インスタンスで使えるメソッドを確認したいとき
rubyだったら
p Class.methods
p instance.methods
なんだけどperlでもやりてえぇーって叫んだら
http://twitter.com/kamipo/status/13900909851
どらどら。
package Hoge; use strict; use warnings; sub new { bless {}, shift } sub hoge {} sub _fuga {} package main; use strict; use warnings; use Data::Dumper;sub p {warn Dumper @_;my @c = caller;print STDERR " at $c[1]:$c[2]\n\n"} use Class::Inspector; for (qw/public private full/) {#expanded ってのもある my $s = Class::Inspector->methods('Hoge', $_); p $s; }
% perl methods.pl $VAR1 = [ 'hoge', 'new' ]; at methods.pl:17 $VAR1 = [ '_fuga' ]; at methods.pl:17 $VAR1 = [ 'Hoge::_fuga', 'Hoge::hoge', 'Hoge::new' ]; at methods.pl:17
あざす。