eval {
die "blablabla";
};if ($@) {
print $@; # print "blablabla";
}
Dies ist buggy, weil $@ nicht lokalisiert wurde. Immer so schreiben:
eval {
die "blablabla";
1;
} or do {
print $@; # print "blablabla";
}
oder besser gleich
use Try::Tiny;
try {
die "blablabla";
} catch {
print $_; # Ausnahmeobjekt ist in $_
};