in reply to Re^4: Problem with "use Exporter qw(import);"
in thread Problem with "use Exporter qw(import);"

I had the impression from reading your node that the option to import the import function wasn't so much a significant change to Exporter.pm as much as it was a happy coincidence that importing the import function worked correctly instead of using inheritance. I also didn't have much reason to re-read Exporter's documentation since the API hadn't changed in any way.

What originally wrote didn't look correct and it only now occurrs to me that this form of importing wouldn't normally work because import is always called as a class method anyway. In a more normal module, what you wrote would be flat-out incorrect code. Thinks would still work if you did this in normal code but I've never seen anyone seriously advocate for flattening inheritance trees to avoid recursive @ISA lookups in this particular way.

Which version is *import = \ &Exporter::import kosher in anyway? I didn't see a mention of this use of the API in even the 5.8.5 documentation on search.cpan.org.

Replies are listed 'Best First'.
Re^6: Problem with "use Exporter qw(import);"
by tye (Sage) on Nov 04, 2004 at 00:30 UTC
    What originally wrote didn't look correct and it only now occurrs to me that this form of importing wouldn't normally work because import is always called as a class method anyway.

    Perhaps you are missing a "not" and/or a subject somewhere in there? I can't decipher what you mean.

    In a more normal module, what you wrote would be flat-out incorrect code.

    Importing is importing. Perl5 doesn't distinguish between methods and subroutines. You can import methods and use them as methods. You can import functions and use them as functions. You'll have to be more specific about what you think won't work about this.

    Which version is *import = \ &Exporter::import kosher in anyway?

    I'm not aware of any version of Exporter.pm where this fails. I certainly haven't had any problems with it and have practiced it for quite a long time. Years ago I noticed a comment saying that some corner cases might not work w/o @ISA being set, but I've never run into such a case.

    I didn't see a mention of this use of the API in even the 5.8.5 documentation on search.cpan.org.

    There wouldn't be much point in me suggesting that it should be added to the documentation if it were already there.

    - tye