Just to second herveus, indirect method calls ( meth class() ) are, in general, funky and unsupported. You should probably be using class->meth() instead, as that leaves no ambiguities.
Comment on Re: Creating new objects from within a package
Neither does it "leaves no ambiguities". T->new() can still be ambiguous, it is just not as ambiguous. If you want to leave no ambiguities, write 'T'->new().