Re: RFC 164 (v1) Replace =~, !~, m//, and s/// with match() and subst()

[email protected] (Nathan Wiger)
Newsgroups perl.perl6.language.regex
Message-ID <[email protected]>
Jonathan Scott Duff wrote:
> 
> I think that C<subst> is too syntactically close yet semantically far
> from C<substr> that the evil demons of confusion will rear their ugly
> heads.

I agree too, any suggestions are welcome. The fact that 'sub' and
'substr' are already taken makes this tough...
 
> Given the above, why not make a bare C<subst> do something equally
> useful?  Here are some ideas:
> 
>         subst;          # removes leading and trailing whitespace

I like this one alot.

> >    next if /\s+/ || /\w+/;          next if match /\s+/ or match /\w+/;
> 
> Gosh this is annoying.  I *really* don't want to have to type "match"
> all the time.  And now I have to use C<or> rather than C<||>, which is
> already ingrained in my head  (I rarely use "or" or "and")

v2 will clarify this some more and let you type:

   next if m/\s+/ or m/\w+/;
 
Which is essentially the same as now.

> I wonder what happens when people start typing
> 
>         $new = subst s/old/new/i, $old;

They get a syntax error! :-)

Honestly, I don't think that's a big problem. People don't do this with
split() now. I think people will either use the "backwards compat" s///
form or the function form.

-Nate
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.