On Fri, May 13, 2005 at 03:23:20AM +0800, Autrijus Tang wrote:
> Is it really intended that we get into habit of writing this?
> 
>     if 'localhost:80' ~~ /^(.+)\:(\d+)$/ {
>       my $socket = connect(~$0, +$1);
>     }
> 
> It looks... weird. :)

And it would have to be

     if 'localhost:80' ~~ /^(.+)\:(\d+)$/ {
        my $socket = connect(~$0, ~$1);
     }

because +$1 still evaluates to 1.  (The ~ in front of $0 is 
probably optional.)

My suggestion is that a match object in numeric context is the
same as evaluating its string value in a numeric context.  If
we need a way to find out the number of match repetitions (what
the numeric context was intended to provide), it might be better
done with an explicit C<.matchcount> method or something like that.

Pm

Reply via email to