On Mon, Jul 07, 2008 at 07:16:05PM -0700, Patrick R. Michaud via RT wrote: : Note however that TimToady on #perl6 speculated [1] that an empty return : should return the Object prototype. I'm not sure the answer was : resolved completely in that thread, however, so we'll go with returning : 'undef' for now and wait for a more definitive answer before closing : this ticket.
A C<return> just returns its argument list as a Capture, so it's probably just returning the "null" Capture, presumably with Object (undef) in the scalar slot and an empty list in the list slot and an empty hash in the hash slot. I don't think it's returning the Capture protoobject itself though, because I think bare return is returning something defined, so it's just an empty container, much like the difference between Array and []. Larry