warn $]; warn \&CORE::GLOBAL::sleep; warn \&CORE::sleep; &CORE::GLOBAL::sleep(3); #### 5.016003 at d:/Users/lanx/pm/core_sleep.pl line 1. CODE(0x328420) at d:/Users/lanx/pm/core_sleep.pl line 4. CODE(0x349718) at d:/Users/lanx/pm/core_sleep.pl line 5. <-- different! Undefined subroutine &CORE::GLOBAL::sleep called at d:/Users/lanx/pm/core_sleep.pl line 7. #### *old = *CORE::GLOBAL::sleep; *CORE::GLOBAL::sleep = sub { warn " **** beware of morons **** "}; &old(); # oops warn \&CORE::GLOBAL::sleep; warn \&old; #### **** beware of morons **** at d:/Users/lanx/pm/core_sleep.pl line 2. CODE(0x4c9478) at d:/Users/lanx/pm/core_sleep.pl line 7. CODE(0x4c9478) at d:/Users/lanx/pm/core_sleep.pl line 8. <-- identical! #### lanx@ubuntu14-large:~$ perl warn $]; warn \&CORE::GLOBAL::sleep; warn \&CORE::sleep; &CORE::GLOBAL::sleep(3); __END__ 5.018002 at - line 1. CODE(0x1804cb8) at - line 2. CODE(0x1830398) at - line 3. Undefined subroutine &CORE::GLOBAL::sleep called at - line 4. #### lanx@ubuntu14-large:~$ perl *old = *CORE::GLOBAL::sleep; *CORE::GLOBAL::sleep = sub { warn " **** beware of morons **** "}; &old(); # oops warn \&CORE::GLOBAL::sleep; warn \&old; __END__ **** beware of morons **** at - line 2. CODE(0x2089448) at - line 5. CODE(0x2089448) at - line 6.