On Jul 1, 2009, at 7:47 AM, Ricardo SIGNES wrote:
> * Rafael Garcia-Suarez <rgarciasuarez@gmail.com> [2009-07-01T06:31:35]
>> Make C<undef ~~ 0> and C<undef ~~ ""> not match (like in 5.10.0)
>>
>> This makes ~~ commutative with regard to undef, and fixes an
>> inconsistency, since C<undef ~~ [0]> was not matching, and ~~
>> should be distributive in this case.
>
> Waaaaah? I am so confused.
>
> This is more special casing. $x~~$str means $x eq $str. undef eq ''.
>
> I guess we'll just say: $x~~$str === defined $x and $x eq $str. I
> find this
> sort of bizarre, but maybe I'll get over it.
I was wondering the same thing. The previous behavior made sense to me
because it was consistent with `undef eq ''` and `undef == 0`.
However, `[0] != undef`.
Best,
David