Why is `$@` untrustworthy?
问题 I seem to recall that it is not safe to trust the value of $@ after an eval . Something about a signal handler having a chance to set $@ before you see it or something. I am also too tired and lazy right now to track down the real reason. So, why is it not safe to trust $@ ? 回答1: The Try::Tiny perldoc has the definitive discussion of the trouble with $@ : There are a number of issues with eval. Clobbering $@ When you run an eval block and it succeeds, $@ will be cleared, potentially