From: Lou Zell Date: 2008-08-01T07:09:43+09:00 Subject: Re: super with block > But unfortunately, this does not fix your problem: Indeed. But all is not lost. I *think* this will work fine for what I need to do (it's tweaked from the solution you gave earlier, thank you). class String def nsub!(*args) if m = match(args[0]) gsub!(args[0]) {yield(*m.to_a[1..-1])} end end end >> s = "match1match2" => "match1match2" >> s.nsub!(/(match1)(match2)/) {|m1,m2| m2 + m1} => "match2match1" I haven't done much with it yet, but from some preliminary tests it seems to work. Thanks for the help everyone! Lou -- Posted via http://www.ruby-forum.com/.