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


in reply to Passing parameters to object method references

Your subs in the dispatch table need to accept parameters:
dispatch => { A => sub { $self->suba(@_) }, B => sub { $self->subb(@_) }, }