use feature 'say'; undef &say; *say = \¬_say; say 'test'; sub not_say { print 'not saying'; }