If you want to really confuse your replacement, do what my predecessor did: write class (has a
new() method which returns a blessed reference) with methods that are named (by convention) as private (
sub _do_something { } ) or "double private" (
sub __double_secret_probation { } ) and then add them to
@EXPORT. Oh, and while you're at it, add every subroutine to
@EXPORT. That'll teach people to learn a convention and then have unfair expectations when they see it used elsewere.
I think my predecessor lived (and may die) by this.
Ivan Heffner
Sr. Software Engineer, DAS Lead
WhitePages.com, Inc.