I get a syntax error here, sir Guy. If I replace the first nest {} with ()
(parens), it works fine. I'm running it on irb v0.7.4
pigeon% irb -v
irb 0.7.4(01/05/08)
pigeon%
pigeon% irb
irb(main):001:0> str = "aaa"
"aaa"
irb(main):002:0> re = "a"
"a"
irb(main):003:0> m = %r{#{re}}.match(str)
#<MatchData:0x40195ef4>
irb(main):004:0>
pigeon%