http://www.perlmonks.org?node_id=1019536


in reply to Managing capture

to answer the question "how do I pass a method as a callback"

doSomething is evidently a method, so it gets my ($self,%args) =@_ in the first line.

Now if you wanna call an anonymous method $args{on_succes}, do something like

$self->$args{on_succes}(ARG_LIST);

Assure that the callback itself takes self again from the args!

 on_success => sub { my ($self,%args); }

Cheers Rolf

UPDATE:

sigh ... there is a parsing problem with $self->$args{on_succes}(ARG_LIST);

You'll need to use a temporary var $code_ref

my $code_ref=$args{on_succes}; $self->$code_ref(ARG_LIST);