Normally, if you inherit from Exporter, it will process the import arguments against the @EXPORTS etc, and if given a number will verify that $VERSION is good enough.
I'd like to override this so that a version number specified on the import args will enable backward compatibility. In the general case, this means (1) setting another package variable to the requested version, so various functions can check that at their lesure; and (2) change what's imported by default (same effect as a different @EXPORTS list).
What's the best/easist/proper way to do that?
(Meanwhile, as for point 1, that should actully be a hash noting which packages asked for which versions, but that's a fine detail.)
If no version number is given in the import list, it should also enable the backward-compatibily mode. So, it needs to check for that first, before calling the super import.
Idea at this point is to scan for version number in the arglist, delete it if found, do a local @EXPORTS to reflect the backversion and then call super's import.
But open to suggestions.
—John
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: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.