in reply to Re (chip): Re5: Technical Interview
in thread Technical Interview
Come to think of it, Damian mentioned early in that very presentation that he had recently enjoyed catching Jeffrey Friedl--regex guru nonpareil--in a regex error.Actually, it was the younger regex Jedi, our very own japhy, whom I caught out.
As every teacher learns, nothing quite motivates a roomful of students to cleverness like the thrill of catching the teacher in a mistake.So true. In fact, it was precisely by manipulating that basic human desire (i.e. to see the mighty stumble ;-) that I caught out someone as highly clueful as japhy. I deliberately made it look like I'd made a mistake, when in fact I was demonstrating an inconsistency in a rarely-used behaviour.
Specifically, I showed some code equivalent to the following:
and asked what was unusual about the substitution.$var =~ s?pattern?string?;
Most regex adepts will reply:
The use of ? as the delimiter causes the regex to match at most once between calls to reset (as described in the perlop manpage).
But the real answer is:
I have to confess that I much prefer this proxied variation on chip's "humble the guru" motivational technique, rather than the version in which the presenter himself is the one who gets humbled! ;-)
The use of ? as the delimiter doesn't cause the regex to match at most once between calls to reset. That behaviour only applies to matches, not substitutions.
|
---|