On Wed, Nov 19, 2003 at 08:23:30PM +0000, Smylers wrote:
> This, however, is irritating:
> 
>   my @new = map { s:e/$pattern/$replacement/; $_ } @old;
> 
> I forget the C<; $_> far more often than I like to admit and end up with
> an array of integers instead of modified strings.  

That one gets me every now and then too.

> So I'd like a more elegant way of writing that -- but I don't think
> making the return value of C<s///> more complicated (and duplicating
> data in the process) would be a nett gain.

What if the method form of s/// didn't mutate the string, but returned
the mutated result?  Then, you'd just need to do something like:

        my @new = map { $_.s:e/$pat/$rep/ } @old

Except I don't know how the method form of s/// would be spelt.

        $string.s:e/$pat/$rep/;         # . and ~~ are almost the same?
        $string.sub($pat,$rep,"each");  # ick.
        $string.sub:e($pat,$rep);       # hmm.

-Scott
-- 
Jonathan Scott Duff
[EMAIL PROTECTED]

Reply via email to