http://www.perlmonks.org?node_id=821621


in reply to Subroutines with the same name, in different packages

Try not exporting those 2 subs:
@EXPORT = ();

Replies are listed 'Best First'.
Re^2: Subroutines with the same name, in different packages
by Anonymous Monk on Feb 05, 2010 at 18:12 UTC
    Indeed. To the OP: exporting OO methods serves no purpose. Exporting puts the sub into the importer's package, eg main.

    But when you call a method, you (usually) use the package name or an instance of that package, eg my $foo = Foo->new(); $foo->frob();. All the calling package (usually) needs to do is to use Foo; so that the class you're going to be using is loaded.

    In short: don't export methods.

Re^2: Subroutines with the same name, in different packages
by AnomalousMonk (Archbishop) on Feb 05, 2010 at 19:05 UTC
    Try not exporting those 2 subs ... don't export methods.

    ... and if you cannot redefine what the module exports by default, suppress importation when you use the module.
        use UCP::NLMWriter ();
        use UCP::ManifestWriter ();

      Thanks, all!