$ cat Foo.pm use strict; use warnings; package Foo; use Carp qw/ croak /; sub foo { eval { Baz::bar(); }; my $e = $@; print "\$\@ = '$e'\n"; $e =~ s/(.*) at .*\n/$1/; croak $e; } package Baz; sub bar { die "blubb"; } 1; $ perl -wle' use Foo; Foo::foo();' $@ = 'blubb at Foo.pm line 19. ' blubb at -e line 3