Why can't a method included in this same file be found?

Some possible reasons: your inheritance is getting confused, you've misspelled the method name, or the object is of the wrong type. Check out the perltoot manpage for details on these. You may also use print ref to find out the class $object was blessed into).

Another possible reason for problems is because you've used the indirect object syntax (eg, find Guru "Tom") on a class name before Perl has seen that such a package exists. It's wisest to make sure your packages are all defined first, which will be taken care of if you use the use statement instead of require. If not, make sure to use arrow notation (eg, Guru-find>) instead. Object notation is explained in the perlobj manpage.