I have no problem using NVL or CASE - whichever is better is fine for me.

My issue is that I don't think it solves my problem. If something is in mname, then I want the "." when it assigns it to middlename, which this does fine - as did my version of the code. If something is NOT in mname, then I don't want the "." appended, but I still want to assign the blank to middlename.

The current version, either yours or mine, produces this:
mname with something in it (yay!): Tunes,L.B.
mname with nothing in it (boo!): Chen,L.. - too many dots at the end because it's a blank middlename

Or initialize middlename as blank would work but I've not had success initializing variables.

BTW, I really like your formatting. Very readable. I didn't figure out how to do that with this post.