in reply to Tips on how to perform this substitution?

Golf:

$_ = '--BBB----BB--B-------B--B--BBBB---B--'; s/-+/--$|x$&=~y---c/ge;y/B10/Mio/; say;

Out:

iiMMMooooMMiiMoooooooMiiMooMMMMiiiMoo