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; [download]
Out:
iiMMMooooMMiiMoooooooMiiMooMMMMiiiMoo [download]