While I'm always pleased to see people making use of my Class::MakeMethods module, do note that this problem isn't particularly specific to that distribution: any time your subroutine names conflict with Perl built-ins there's a small chance of this type of confusion. (As gaal points out, once you switch package scopes this problem goes away.)