続Sub::Spy
結局こんなインタフェースにした。
use Sub::Spy qw/spy inspect/; my $subref = { $_[0] + $_[1]; }; my $spy = spy($subref); $spy->(1, 2); my $i = inspect($spy); $i->called; # 1 (true) $i->called_once; # 1 (true) $i->called_twice; # 0 (false) $i->threw; # 0 (false) $i->get_args(0); # [1, 2] $i->get_return_value(0); # 3 $i->get_call(0)->arguments; # [1, 2] $i->get_call(0)->return_value; # 3
http://github.com/zentooo/p5-sub-spy
やるとしても機能追加で、インタフェースこれ以上変わらんだろうと思ったのでCPANにもあげちゃった。ちょっと早まったかも。