Damian Conway wrote: > Though leaving optimization in the hands of the programmer > is generally a Bad Idea.
That doesn't sound like a Perl slogan. > It's also a matter of syntactic consistency. It has to be := for > "inlined" bindings (i.e. rx/ $name:=<ident> /) because otherwise > we make = meta (which is *not* a good idea). So it probably should be > := for explicit C<let>s as well. If "let" only works on bindings, it really bites into the expressiveness of the language. For example, the "natural" way to skip text within a match is to do something like: / (\w+) \d+ (\w+) { let $1 _= $2; let $2 = undef } / This feels natural too: / (\w+ \d+ \w+) { let $1 =~ s/\d+// } / Binding might be really fast for some implementations of Perl, but slow for others. Just like string eval may be impossible in some, but trivial in others. - Ken