http://qs321.pair.com?node_id=51332


in reply to Overloading Perl's Built-In's

Not all built-in functions may be overridden, and chomp() is one of the ones that can't be overridden. Even if it were, you're new versions of chomp() wouldn't have worked as you expected because you only operating on a copy of the argument rather than the argument itself.

Only functions with 'weak' keywords may be overridden -- those are the ones defined to return a negative value in toke.c in the perl source code. Here is a list of + keywords, which includes all the functions that may *not* be overridden (since it is a shorter list):

__DATA__ __END__ AUTOLOAD BEGIN CHECK chop chomp DESTROY do delete def +ined END else eval each elsif exists for format foreach grep goto glob INIT + if keys last local m my map next no our pop pos push print printf package prototype q qr qq qw qx redo return s scalar shift sort split splice study sub tr tie tied use undef until untie unless unshift while y