素直にrubyで
echo foo.bar@example.com | ruby -pe '$_.sub!(/(?<=[^@]{3})[^@]*(?=@\w+)/){|s|"*"*s.size}'

perlならもっと短くできるんじゃないかなぁ。