in reply to Perl module symbol import versus direct invocation

Yes, you would have a usage problem, as the package name would be passed to the function, which the function does not expect. Try this, it will become clear:
use p; use strict; p->abc; package p; use strict; sub abc { print "begin params\n"; print(join(",", @_), "\n"); print "end params\n"; } 1;