use Scalar::Util; eval { die \Scalar::Util::dualvar(5, 'komischer Fehler'); }; if ($@ and ${$@} == 5) { say ${$@}; }