http://www.perlmonks.org?node_id=994970


in reply to Overriding CORE::GLOBAL::warn/die

By the time Perl compiles the use warn; statement, it's already decided that the first warn refers to the builtin warn. Perl won't go back and recompile code it's already compiled when you override a keyword (that's not possible in some cases).