in reply to Obscuring a String

I'm guessing that when you say you need to do it thirty times and getting the same answer, you just mean you need it to be deterministic.

I also agree, (s)rand is the wrong way to go because of it's impact on other calls to rand (not to mention the potention of other rand calls messing you up)

you should be able to pick a sequence of letters from @obs deterministicly based on the input string, for example: convert all thee letters in $_ to their ascii number, add them up, and mod by the length of $_ to pick a letter to cut from $_, and mod by the size of @obs to pick a replacement letter. do that however many times you need to reach $percentage. (accutal code left as an excersize for the reader .. who probably isn't as tired as i am right now)