in reply to Is there a way to unwind the call stack and return a value?
Also, exceptions (the argument to die(), $@) can be any object. See die.
Update: you may also be interested in goto.