in reply to What operator should perl5porters use for safe dereferencing?

I prefer ?-> because it makes it clear that there might not be a receiver for the message send ->, much more than ~> which suggests that some kind of pattern or smart match is involved. In the Groovy language, they call it the Safe Navigation Operator e.g.
def streetName = user?.address?.street