At last night's Perl Mongers meeting, we again had some Ruby folk around to show us a bit of their language of choice. One thing I found interesting was their regex engine. Apparently it's reentrant. They have the same regex variables we do but those are merely copies of the relevant data. They are apparently not used to determine the state of the engine. Instead, each regex is assigned its own "match" object. As a result, a regex can embed a code block which in turn calls more regexes without blowing up. You can't do this in Perl.
As a result, I've been toying with the idea of using Inline::Ruby because one of my pet projects could benefit from this (yes Adrian, I hear you telling me to use the call stack
Wouldn't it be a bit ironic that I'd be forced to use Inline::Ruby to take advantage of the power of Ruby's regular expressions?