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        


In reply to Re^6: Problem with "use Exporter qw(import);" by tye
in thread Problem with "use Exporter qw(import);" by johnnywang

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.