"Brent 'Dax' Royal-Gordon" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > Aaron Sherman <[EMAIL PROTECTED]> wrote: > > I've always thought that particular bit of sugar was rather dangerous. > > I'd even prefer a longhand: > > > > $foo either 0 or split(); > > The overloading of 'or' there is (IMHO) far more dangerous than the > overloading of '::' being discussed in this thread.
Not necessarily. You're assuming that C<either> in a ternary operator. It could be a binary operator, defined as {eval $RHS if $LHS; return $LHS}. For that interpretation, one might choose a different name (e.g. C<implies>). We could actually define ?? as a binary operator in much the same way. Dave.