文字列変換処理でパターンマッチするたびに、マッチした箇所に対して
サブルーチンを呼び出し、サブルーチンの戻り値でマッチした箇所を書き換えたい
のですが、とりあえず以下のものは失敗でした

# fooにマッチした箇所すべてをhogesubサブルーチンの戻り値で
#書き換え
$hoge =~ s/foo/&hogesub/g;

やりたいことはお察しいただけるとおもいますが、うまくいく方法があれば
おしえてもらえないでしょうか?