in reply to How much can a function know about the context in which it is called?
If you are not afraid to use a module by TheDamian, Contextual::Return can take out much of the uglyness that wantarray syntax imposes.