Given that I can rewrite your "usage example" like this:

 _="puts'_='+_.dump+';'+_";puts'_='+_.dump+';'+_

, String#dump must be the same thing as String#inspect, and has nothing to do with marshalling. Correct?

I would still appreciate some reallife usage. I can vaguely imagine using it to insert any given string into a regexp or as an argument to a generated Ruby script. Is that the purpose, or something else?