From: Gavin Kistner Date: 2005-09-26T05:25:48+09:00 Subject: String#ggsub I occasionally find myself with gsub regexp that either eat too much, or work within a nesting, such that I need to run gsub more than once in order to get the desired end result. The code I end up writing tends to be of the form: while foo.gsub!( /.../, ... ); end Frankly, I really don't like that. It's like JS people who write things like: for ( var walkerNode = this; walkerNode.parent; walkerNode = walkerNode.parent ){} 'abusing' the for loop construct to hold their logic. Is there some other form in Ruby of "keep doing this until it returns nil" that is less...gross?