warn/dieをトラップするのなら>>278にあるように$SIG{__WARN__}, $SIG{__DIE__}を使った方が軽くていいと思われますが。