On Mon, Sep 26, 2005 at 10:19:29PM +0200, Juerd wrote:
: In Perl 6, the match object $/ will instead be used. It's a bit harder
: to use with s///, because it will look ugly, but remember that you can
: always choose to use s^^^ or s[][] or any other of the many
: possibilities instead.

It's always bothered me a little to use $/ "the object" when you
want to refer explicitly to the string matched, especially if the
object knows it matched more than the string is officially matching.
I think we could go as far as to say that $<> is the name of the text
that would be returned by ~$/ and the number that would be returned
by +$/.  If we did that, I think we could get away with making

    /frontstuff < \w* > backstuff/

a shorthand for

    /<pre frontstuff> $<>:=( \w* ) <post backstuff>/

The space after the < would be required, of course.  It works because
in the <foo \d*> form, the default is to take the argument as rule,
and here we merely have a null "foo".

That gives us cool things like

    s/back \s+ < \d+ > \s+ times/{ $<> + 1 }/

to increment the number of times the quick brown fox jumped over the
lazy dog's back.


Reply via email to