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.
In Section
Module Reviews