My version features an un-munging mode and the use of procs and blocks
to keep DRY. It won't shuffle letters, but it will leave numbers and
underscores alone, too.

http://www.dave.burt.id.au/ruby/text_munger.rb