> > =item 'BOOLEAN' > > > > The subroutine was called in a boolean context: > > > > if ( func() ) {} > > $val = func() || 0; > > $val = func() or die; > > This one is debateable. BOOLEAN could be seen as asking for a TRUE or FALSE > value, which in the first case is fine. But in the second although the > value is tested for true/false, if it is true it is used, so there should > be some way to determine between them. That's not what happens in operator overloading (which this part of the want() mechanism is designed to enhance. Your point is taken though. One might *almost* argue that the RVALUE context ought to be reserved for calls which are subsequently being assigned, and some other context (VALUE?) be used in cases where the return value is only being "used". > And if you are adding values into the context based on the operator, what > about defined() and the mythical ?? operator that someone is bound > to put an RFC in for sooner or later. Over Tom's dead body! ;-) Damian