A12 mentions that C<$foo.bar> should return undef if C<$foo> is undef.
While I like the idea a lot, I don't think it should happen without
distinction.  In fact, that's what I would most expect C<.?> to do, not
"call a method if there is one," though that seems useful, too.

I'm just shooting in the dark here, but perhaps C<?.> should play that
role.  That way you have:

    $foo.?bar      # return undef if "bar" is undef... in a manner of speaking
    $foo?.bar      # return undef if $foo is undef
    $foo?.?bar     # return undef if either is (?)

Either that or C<.?> could double as both roles, considering C<undef>
an object with no methods.

And I can't figure out for the life of me why you'd ever want to use
C<.+>...

Luke

Reply via email to