Я знаю, что $@
— глобальная переменная, но не могу понять, зачем мне ее локализовать перед использованием eval:
Например:
eval { SOME_FUNC_THAT_MAY_DIE(); };
if ($@) {
print "An error occured!\n";
}
Единственная возможная вещь, о которой я могу думать, это то, что если какой-то обработчик сигнала вызовет die
в то же время, когда я попытаюсь прочитать $@
, что я здесь упускаю?