sub hoge{
 my $self = shift;
 my $func = shift;
 &{$func($self)}
}

こんな感じで変数に入ってるメソッド名を実行したいのですが、
継承ができる書き方を教えてください