http://www.perlmonks.org?node_id=554336


in reply to Carp::Clan

It's because it's not always the caller that's wrong. Sometimes it's better to see where the error appears in the module.

Btw, ruby and I think python too typically gives a full stack trace on errors. That's the best thing to do I belive, because the interperter can't decide which function really "caused" the error.