I suppose it could refuse to redefine a sub that already exists, instead of just complaining. On the other hand, "package::open" wouldn't trounce "CORE::open", it would just lead to unexpected behavior (or maybe a warning). And if you redefined "precompare", you wouldn't be able to use it any more. But then again, if you did this, you probably wouldn't deserve to use "precompare" in the first place... Perl has a lot of chainsaws, and it's great fun to use them with reckless abandon.