Hi,
quick questions:
my $pair = (a => 42);
say ~$pair; # "a\t42"? "a\t42\n"? "a 42"?
say +$pair; # 0 (pairs aren't numbers)?
# 42?
# 0 ("a" is not a number)?
# 0 (~$pair can't be used as a number)?
say ?$pair; # true (because 42 is true)?
# true (because pairs are always true)?
FWIW, I'd opt for ~$pair to be "a\t42", +$pair to be +(~$pair) [1],
and ?$pair to be always true.
--Ingo
[1] The numification of match objects used to *not* be the numification
of their stringification, causing confusion, see
http://tinyurl.com/asocc.