だるろぐ

だるいぶろぐです

メソッドの一覧を取得する

任意のクラス・インスタンスで使えるメソッドを確認したいとき

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

あざす。