http://www.perlmonks.org?node_id=284793


in reply to Return values from package methods

Sounds like a bug that was fixed.

Magic is needed to implement the 'subroutines exitted using a means other than die() or return(), result with the last statement executed, in the context that the subroutine was called within.' Perhaps in 5.6, this magic was a little more lazy, and never explicitly set the return result to be an empty list in the case that a subroutine has no statement in it?

Perhaps it is unreasonable to expect a reliable result for a subroutine that does not implicitly or explicitly return a result? :-)

Cheers,
mark