Passing
@_ is not only goofy, but it breaks inheritance. You won't be able to inherit from the class and override
other. Consider
other(@_);
It is a non-OO invocation. If
other doesn't exist in the current class, it won't be searched for using the
@ISA chain. You might want to do this to implement "restricted" (callable only within one class) functions, though it requires that all callers know that
other is restricted. That can get messy.
<p
Now consider
$self->other($arg);
If
other doesn't exist within the calling class, it will be searched via
@ISA, which is what you want when you're using inheritance.