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