in reply to lightweight stack info

Check Perldoc Carp for info on shutting it off for parts of code (or only turning it on in your code).

Maybe using caller() just when you do catch an exception could work too.

Replies are listed 'Best First'.
Re^2: lightweight stack info
by hv (Parson) on Jun 11, 2014 at 22:33 UTC

    Thanks; it'd certainly be possible to locally disable the annotation (a $SIG{__DIE__} handler, it isn't Carp internals we're talking about at this point) when we know we're going to call certain things; but that's not really the intended use - the idea is that for *any* exception that ends up not getting caught we want to know the call stack where it was raised: this is a mechanism for helping us become aware of and diagnose bugs we don't know about yet, and disabling it in some places means either asserting those sections of code are guaranteed bug-free, or just accepting that bugs in those sections of code will be harder to diagnose (and we may miss them altogether).

    As for doing the annotation at the point of catching: I don't think that helps us, we know what the call stack will look like at that point, it's what the call stack looked like at the point the exception was raised that's interesting.