in reply to YAOOM

I am wondering what you are trying to do:
tilly@prod1:~$ perl -e 'Foo->hello' Can't locate object method "hello" via package "Foo" at -e line 1.
It seems to me that I already get the package, line number and file name of the error in the error message. With your code I get a different format, and I get the package, line number, and file name of the AUTOLOAD, which obscures the original message.

Now if you had gone out of your way to throw a confess (from Carp) to give a stack backtrace, I would find the extra output sometimes useful. But it is counterproductive as it stands.