文字の置換の際に、「マッチした文字列になんらかの処理をする」ということは可能でしょうか?

$str = "ABCDEF";
$str =~ s/(B)/&conv($1)/;

のように、マッチした文字列を、関数を使って、返り値で置換したいのですが・・・
(ちなみの、このコードだと、
A&conv(B)CDEF
という文字列になってしまいました。。。)