> So that's not context free.

Ah, good point. Well,

  ''=~//; foo.gsub!( /.../, ... ) while $~

But that's more fitting an obsucure code contest :-)

T.